Initial dirty commit of old code into git

This commit is contained in:
Paul Schaub 2019-12-12 15:20:41 +01:00
commit 5546f26619
Signed by: vanitasvitae
GPG Key ID: 62BEE9264BF17311
1985 changed files with 255900 additions and 0 deletions

8
.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
.metadata/
*/.metadata/
*/.project
*/.classpath
*/.setting/
*/bin/

View File

@ -0,0 +1,11 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.7

90
Game/src/Ammunition.java Normal file
View File

@ -0,0 +1,90 @@
/**
* Projectile with ballistic attributes and physics
* @author vanitas,lil
*
*/
public class Ammunition extends MovingObject
{
private float durability, //Lifetime in seconds
lifetime; //"Age" of the projectile in seconds
/**
* Constructor
* @param direction
* @param x location
* @param y
* @param pearcing can this penetrate other Objects?
*/
public Ammunition(float rotation, float x, float y, boolean pearcing)
{
//this.direction = (float) Math.toRadians(direction+90); //Set the direction of the projectile
this.setRotation(rotation);
this.x = x; this.y = y; this.durability = 0; //Set variables
this.setShape(new Shape(Shape.S_BULLET));
this.getShape().setSize(1f);
this.durability = 2; //Lifetime in seconds
}
/**
* moves the object one frame
*/
@Override
public void move(float delta, boolean keepOnScreen)
{
float xNeu = (float) (x+Math.cos((float) Math.toRadians(90-this.getRotation()))*0.35f*delta);
float yNeu = (float) (y+Math.sin((float) Math.toRadians(90-this.getRotation()))*0.35f*delta);
this.lifetime += (delta/1000); //Let the projectile "age"
if(this.lifetime>this.durability) //If "too old" do something
{
SpaceSpiel.getMunition().remove(this);
}
x = xNeu;
y = yNeu;
if(keepOnScreen) keepOnScreen();
}
/**
* modifies the speedvector (In this case it doesnt, cause a bullet in space doesn't
* change direction and speed
*/
@Override
public void accelerate()
{
//Keep this empty, Munition doesn't accelerate (Except for rockets maybe)
}
//Getters and setters
public float getDurability()
{
return durability;
}
public void setDurability(float durability)
{
this.durability = durability;
}
public float getX()
{
return x;
}
public void setX(float x)
{
this.x = x;
}
public float getY()
{
return y;
}
public void setY(float y)
{
this.y = y;
}
public float getLifetime()
{
return lifetime;
}
public void setLifetime(float lifetime)
{
this.lifetime = lifetime;
}
}

50
Game/src/Button.java Normal file
View File

@ -0,0 +1,50 @@
import org.lwjgl.util.Rectangle;
import java.awt.Font;
import org.newdawn.slick.Color;
import org.newdawn.slick.TrueTypeFont;
public class Button{
private boolean isClicked;
private String name;
Rectangle bounds = new Rectangle();
private TrueTypeFont font;
public Button(float loc, String name) {
super();
this.name = name;
this.isClicked = false;
bounds.setX(50);
bounds.setY((int) ((loc * 50) - 15));
bounds.setHeight(30);
bounds.setWidth(100);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isClicked() {
return isClicked;
}
public void setClicked(boolean isClicked) {
this.isClicked = isClicked;
}
public Rectangle getBounds() {
return bounds;
}
public void setBounds(Rectangle bounds) {
this.bounds = bounds;
}
public TrueTypeFont getFont() {
return font;
}
public void setFont(TrueTypeFont font) {
this.font = font;
}
public void init(String name) {
}
}

View File

@ -0,0 +1,19 @@
/**
* Implementation of a ship controlled by a human
* @author vanitas
*
*/
public class ControlledShip extends Ship
{
public ControlledShip()
{
super();
this.setX(SpaceSpiel.frameSizeX/2); //Place the ship in the middle of the screen
this.setY(SpaceSpiel.frameSizeY/2);
this.setRotation(0f); //Initialize rotation
this.setThrust(0.1f); //Set thrust and maxSpeed
this.setMaxSpeed(6f);
}
}

279
Game/src/Game.java Normal file
View File

@ -0,0 +1,279 @@
import java.util.ArrayList;
import org.lwjgl.LWJGLException;
import org.lwjgl.Sys;
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
import org.lwjgl.opengl.GL11;
import org.lwjgl.input.Mouse;
/**
* This is the main class of the game. This renders the game, handles input and output etc.
* Important methods: update, renderGL
* @author vanitas
*
*/
public class Game{
long lastFrame, lastFPS; //Values to calibrate the framerate etc.
int fps;
public static final int frameSizeX = 800, frameSizeY = 600; //Resolution of the Window
@SuppressWarnings("rawtypes")
private ArrayList<ArrayList> objects; //A ArrayList containing th following Lists
private ArrayList<Metroid> metroids; //A List Containing all the metroids
private ArrayList<MovingObject> ships; //A List Containing all the ships etc
private static ArrayList<Ammunition> munition; //A List Containing all the active fired projectiles
private ControlledShip playerShip; //The players ship
private Menu menu; //The Menu-Display
private boolean menuIsActive; //if menu is active this variable is true
private boolean closeRequested = false;
/**
* Constructor
*/
@SuppressWarnings("rawtypes")
public Game()
{
//
//Initialize ship and Objects (Add Objects here and dont forget to add them to the ArrayLists as well;)
playerShip = new ControlledShip();
Turret geschuetz = new Turret(playerShip.getX(),playerShip.getY());
geschuetz.setParent(playerShip);
//Initialize ArrayLists
objects = new ArrayList<ArrayList>();
metroids = new ArrayList<Metroid>();
ships = new ArrayList<MovingObject>();
munition = new ArrayList<Ammunition>();
//Add Objects to Lists
ships.add(playerShip);
ships.add(geschuetz);
//Pack Lists together
objects.add(metroids);
objects.add(ships);
objects.add(munition);
}
/**
* This method updates all the objects (moves them, captures keyboard and mouse input etc)
* @param delta
*/
public void update(int delta)
{
//Handle Keyboard KeyPresses
//Gas geben ;)
if (Keyboard.isKeyDown(Keyboard.KEY_UP)) //Arrow up
{
playerShip.setVelocity(1f); //Set the velocity to 1 (Power on)
}
//rotation (Arrow right)
if (Keyboard.isKeyDown(Keyboard.KEY_RIGHT))
{
playerShip.turnRight(delta);
}
//Arrow left
if (Keyboard.isKeyDown(Keyboard.KEY_LEFT))
{
playerShip.turnLeft(delta);
}
//When Arrow up is released, turn down the power.
if(!Keyboard.isKeyDown(Keyboard.KEY_UP))
{
playerShip.setVelocity(0f);
}
//If Spacebar is pressed and shotburnout is over, fire a projectile
if(Keyboard.isKeyDown(Keyboard.KEY_SPACE))
{
playerShip.fire(delta);
}
if(Keyboard.isKeyDown(Keyboard.KEY_ESCAPE))
{
menuIsActive = true;
}
//Call an update (movements etc.) for every Object in the game
updateObjects(delta);
updateFPS(); // update FPS Counter
}
/**
* Update (accelerate and move) all the Objects in the ArrayLists
* @param delta
*/
public void updateObjects(float delta)
{
for(int i = 0; i<objects.size(); i++)
{
ArrayList<?> l = objects.get(i);
for(int j = 0; j<l.size(); j++)
{
((MovingObject) l.get(j)).accelerate();
((MovingObject) l.get(j)).move(delta, true);
}
}
}
/**
* Main Rendering method. This calls the subrendermethods for the ship, metroids etc.
* This renderes all the Objects in the Lists.
* Remember: Whatever gets rendered last gets rendered on top of everything else (Stack)
*/
public void renderGL() {
// Clear The Screen And The Depth Buffer
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
//Load ArrayLists and render every Object inside
for(int i = 0; i<objects.size(); i++)
{
ArrayList<?> l = objects.get(i);
for(int j = 0; j<l.size(); j++)
{
//Render
renderObject((MovingObject) l.get(j));
}
}
}
/**
* This Method should be able to render any Shape with vertices given by Shape
* @param o
*/
public void renderObject(MovingObject o)
{
//Get the shape of the object o
Shape s = o.getShape();
//get the color
float[] c = s.getColor();
//Beginn a matrix
GL11.glPushMatrix();
//Set color
GL11.glColor3f(c[0], c[1], c[2]);
//Move it
GL11.glTranslatef(o.getX(), o.getY(), 0f);
//Rotate and scale
GL11.glRotatef(-o.getRotation(), 0f, 0f, 1f);
GL11.glScalef(s.getSize(), s.getSize(), 1f);
//Translate it back
GL11.glTranslatef(-o.getX(), -o.getY(), 0f);
//Load all the Vertices
GL11.glBegin(GL11.GL_POLYGON);
for(int i = 0; i<s.getLength(); i++)
{
GL11.glVertex2f(o.getX()+s.getX(i),o.getY()+s.getY(i));
}
GL11.glEnd();
GL11.glPopMatrix();
}
/**
* Initializes the OpenGL System. Ignore this.
*/
public void initGL()
{
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, frameSizeX, 0, frameSizeY, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
}
/**
* This method starts the game
*/
public void start()
{
try //Create the Display
{
Display.setDisplayMode(new DisplayMode(frameSizeX, frameSizeY));
Display.create();
}
catch (LWJGLException e) //When something goes wrong, evacuate the dancefloor!!!
{
e.printStackTrace();
System.exit(0);
}
initGL(); //initialize OpenGL
getDelta();
lastFPS = getTime(); //initialize timer (just for calibrating framerate, ignore this!)
//This loop runs as long as the game is running. Every run creates a frame
while (!Display.isCloseRequested() && !this.closeRequested)
{
int delta = getDelta(); //Value to sync fps and movements (lower fps != lower moves)
update(delta);
renderGL(); //Render the frame
if(!menuIsActive) Display.update(); //Update the display (I have no idea ;))
Display.sync(60); //cap fps to 60fps
}
Display.destroy(); //Kill the display, when the window is closed
}
/**
* Returns a value used to sync fps and movements
* @return
*/
public int getDelta()
{
long time = getTime();
int delta = 0;
if(!menuIsActive)
{
delta = (int) (time - lastFrame); //If the menu is active, there should be no more movements etc
}
lastFrame = time;
return delta;
}
/**
* Returns the time of the system in (i think) milliseconds
* @return
*/
public long getTime()
{
return (Sys.getTime() * 1000) / Sys.getTimerResolution();
}
/**
* Updates the title of the screen with the current fps
*/
public void updateFPS()
{
if (getTime() - lastFPS > 1000)
{
Display.setTitle("The best game in the world. FPS: " + fps);
fps = 0;
lastFPS += 1000;
}
fps++;
}
public ArrayList<ArrayList> getObjects()
{
return objects;
}
public void setObjects(ArrayList<ArrayList> objects)
{
this.objects = objects;
}
public ArrayList<Metroid> getMetroids()
{
return metroids;
}
public void setMetroids(ArrayList<Metroid> metroids)
{
this.metroids = metroids;
}
public ArrayList<MovingObject> getShips()
{
return ships;
}
public void setShips(ArrayList<MovingObject> ships)
{
this.ships = ships;
}
public static ArrayList<Ammunition> getMunition()
{
return munition;
}
public void setMunition(ArrayList<Ammunition> munition)
{
this.munition = munition;
}
}

28
Game/src/Item.java Normal file
View File

@ -0,0 +1,28 @@
/**
* TODO: Item wird gedropt und fliegt kurz weiter, verlangsamt aber.
* Wenn der Spieler sich nähert gleitet das Item mit wachsender
* Geschwindigkeit auf den Spieler zu, wird quasi "angezogen"
* @author vanitas,
*
*/
public class Item extends MovingObject
{
private float friction = 0.95f;
public Item()
{
this.setShape(new Shape(Shape.S_ITEM));
}
/**
* This doesn't accelerate the Item, but it slows it down till it stops.
*/
@Override
public void accelerate() //This Method is overwritten to let the Item
{ //glide with decreasing speed, untill it stops
if(this.getSpeedX()>0.001) this.speedX = this.getSpeedX()*friction;
else this.setSpeedX(0f);
if(this.getSpeedY()>0.001) this.speedY = this.getSpeedY()*friction;
else this.setSpeedY(0f);
}
}

29
Game/src/MathShit.java Normal file
View File

@ -0,0 +1,29 @@
public class MathShit
{
/**
* Calculates the x-component of a vector, rotated around 0|0 by angle
* @param angle angle to rotate, in radians
* @param x old x-component of the vector or point
* @param y old y-component of the vector or point
* @return the new x component
*/
public static float rotateX(double angle, float x, float y)
{
double beta = (2*Math.PI)-angle;
return (float) (Math.cos(beta)*x-Math.sin(beta)*y);
}
/**
* Calculates the y-component of a vector, rotated around 0|0 by angle
* @param angle angle to rotate, in radians
* @param x old x-component of the vector or point
* @param y old y-component of the vector or point
* @return the new y-component
*/
public static float rotateY(double angle, float x, float y)
{
double beta = (2*Math.PI)-angle;
return (float) (Math.sin(beta)*x+Math.cos(beta)*y);
}
}

7
Game/src/Menu.java Normal file
View File

@ -0,0 +1,7 @@
public class Menu{
public Menu(){
}
}

108
Game/src/Metroid.java Normal file
View File

@ -0,0 +1,108 @@
import java.util.ArrayList;
/**
* A floating, gliding metroid TODO: Maybe add lifepoints, so that multiple hits are needed to destroy this
* @author vanitas
*
*/
public class Metroid extends MovingObject
{
private int level, //Size of the Metroid (default 3-1)
countBabies; //How many new Metroids spawn, when THIS gets killed?
private float spin;
public Metroid(int level)
{
this.level = level;
this.spin = (float) Math.random();
this.shape = new Shape(Shape.S_METROID);
this.getShape().setSize(level);
this.x = 400f;
this.y = 150f;
this.speedX = (float) (Math.random()*2f);
this.speedY = (float) (Math.random()*2f);
}
/**
* Creates a Metroid with
* @param level
* @param x
* @param y
* @param speedX
* @param speedY
*/
public Metroid(int level, float x, float y, float speedX, float speedY, float spin)
{
this.level = level;
this.spin = (float) Math.random();
this.shape = new Shape(Shape.S_METROID);
this.getShape().setSize(level*1.5f);
this.x = x;
this.y = y;
this.speedX = speedX;
this.speedY = speedY;
}
/**
* This method moves the Metroid according to its speedVector
* @param delta
* @param keepOnScreen if true the method calls keepOnScreen()
*/
@Override
public void move(float delta, boolean keepOnScreen)
{
this.x += delta*0.1f*this.speedX;
this.y += delta*0.1f*this.speedY;
this.rotation += delta*this.spin*0.2f;
if(keepOnScreen) this.keepOnScreen();
}
/**
* this method handles the case that THIS Metroid gets hit by an Object (Normally Ammunition)
* @param o The object that hit the Metroid
*/
@SuppressWarnings("unchecked")
@Override
public void processCollision(MovingObject o)
{
ArrayList<Metroid> m = SpaceSpiel.getMetroids();
if(this.level>1)
{
for(int i = 0; i<4; i++)
{
m.add(new Metroid(this.level-1, this.getX(),this.getY(),(float) (Math.random()*2f),(float) (Math.random()*2f),(float) Math.random()));
}
}
else
{
//TODO: By chance of 5% or so add some random Items or PowerUps to the game.
//
}
m.remove(this);
}
/**
* An empty method (A Metroid shouldn't accelerate)
* Only here to overwrite the parents method
*/
@Override
public void accelerate()
{
//Has to be empty
}
//Getters and setters
public int getLevel()
{
return this.level;
}
public void setLevel(int level)
{
this.level = level;
}
public float getSpin()
{
return this.spin;
}
public void setSpin(float spin)
{
this.spin = spin;
}
}

251
Game/src/MovingObject.java Normal file
View File

@ -0,0 +1,251 @@
/**
* An Object that moves following physical rules
* @author vanitas
*
*/
public class MovingObject
{
//Attributes
protected float velocity, //whats the velocity of the object? 0 or 1
x, //x position of the object
y, //y position of the object
speedX, //x component of the speedvector
speedY, //y component (eg. x=2,y=2 => object is flying to the right corner with a speed of 2.7
maxSpeed, //Maximal speed of the object
rotation, //totation of the object (0° <=> object points towards the top of the screen)
thrust; //Power of acceleration
protected int team; //Which team is the object in? 0 = nature
protected Shape shape; //Contains the vertices for the shape
//Constructors (Lol there are none)
/**
* moves the Object one frame
* @param delta
* @param keepOnScreen
*/
public void move(float delta, boolean keepOnScreen)
{
//Set new x and y locations calculated from old location and
//Speedvector
this.setX(this.getX()+this.getSpeedX()*delta*0.2f);
this.setY(this.getY()+this.getSpeedY()*delta*0.2f);
//Eventually keep the object on the screen if it leaves at the borders
if(keepOnScreen) this.keepOnScreen();
}
/**
* Rotates the Object to the right
* @param delta
*/
public void turnRight(int delta)
{
this.setRotation(this.getRotation() + 0.35f * delta);
}
/**
* Rotates the Object to the left
* @param delta
*/
public void turnLeft(int delta)
{
this.setRotation(this.getRotation() - 0.35f * delta);
}
/**
* Let this Object follow another Object
* @param x
*/
public void follow(MovingObject x) //TODO Test this
{
float xOther = x.getX();
float yOther = x.getY();
float hypot = (float) Math.hypot(Math.abs(this.x-xOther), Math.abs(this.y-yOther));
//Set Rotation
float rot;
if(this.x<xOther) rot = (float) -(Math.toDegrees((Math.PI/2)-Math.asin((yOther-this.getY())/hypot)));
else rot = (float) (Math.toDegrees((Math.PI/2)-Math.asin((yOther-this.getY())/hypot)));
//Catch NaN (if rot is Infinity)
if(!Float.isNaN(rot)) this.setRotation(rot);
else this.setRotation(0);
this.setVelocity(1);
}
/**
* Calculate the SpeedVector for the Object.
*/
public void accelerate()
{
this.speedX = (float) (Math.sin(Math.toRadians(this.getRotation()))*this.getThrust()*this.getVelocity()+this.getSpeedX());
this.speedY = (float) (Math.cos(Math.toRadians(this.getRotation()))*this.getThrust()*this.getVelocity()+this.getSpeedY());
double actualSpeed = Math.sqrt(Math.pow(this.getSpeedX(),2)+Math.pow(this.getSpeedY(),2));
if(actualSpeed>this.getMaxSpeed())
{
double fac = actualSpeed/this.getMaxSpeed();
this.speedX = (float) (this.speedX/fac);
this.speedY = (float) (this.speedY/fac);
}
}
/**
* Keep the Object on the screen if it leaves to the borders
*/
public void keepOnScreen()
{
this.x = this.x%SpaceSpiel.frameSizeX;
this.y = this.y%SpaceSpiel.frameSizeY;
if(this.x<0) this.x = SpaceSpiel.frameSizeX+this.x;
if(this.y<0) this.y = SpaceSpiel.frameSizeY+this.y;
}
/**
* This Method fires (In this class its only there, to be overwritten)
* @param delta
*/
public void fire(float delta)
{
//Let me empty
}
/**
* Checks, if this Object collides with another TODO: This is not accurate, maybe there's a fix for this
* @param otherObject The Object, this Object should check for collision with
* @return the Object if collided, else null
* @author lil, Oooh, vanitas
*/
public MovingObject intersect(MovingObject otherObject)
{
//Extract the shapes of the objects
Shape one = this.getShape();
Shape other = otherObject.getShape();
//Go through all the edges of the shape of THIS object
for(int i = 0; i<one.getLength(); i++)
{
int iinc = (i+1)%one.getLength();
//Go through all the edges of otherObject's shape
for(int j = 0; j< other.getLength(); j++)
{
int jinc = (j+1)%other.getLength();
//Calculate all the start and end-points of the edges
//(1-2=>current edge of THIS shape, 3-4 => current edge of otherObject's shape)
double x1 = this.getX()+MathShit.rotateX(Math.toRadians(this.getRotation()), one.getX(i), one.getY(i))*one.getSize();
double x2 = this.getX()+MathShit.rotateX(Math.toRadians(this.getRotation()), one.getX(iinc), one.getY(iinc))*one.getSize();
double x3 = otherObject.getX()+MathShit.rotateX(Math.toRadians(otherObject.getRotation()), other.getX(j), other.getY(j))*other.getSize();
double x4 = otherObject.getX()+MathShit.rotateX(Math.toRadians(otherObject.getRotation()), other.getX(jinc), other.getY(jinc))*other.getSize();
double y1 = this.getY()+MathShit.rotateY(Math.toRadians(this.getRotation()), one.getX(i), one.getY(i))*one.getSize();
double y2 = this.getY()+MathShit.rotateY(Math.toRadians(this.getRotation()), one.getX(iinc), one.getY(iinc))*one.getSize();
double y3 = otherObject.getY()+MathShit.rotateY(Math.toRadians(otherObject.getRotation()), other.getX(j), other.getY(j))*other.getSize();
double y4 = otherObject.getY()+MathShit.rotateY(Math.toRadians(otherObject.getRotation()), other.getX(jinc), other.getY(jinc))*other.getSize();
// Zaehler
double zx = (x1 * y2 - y1 * x2)*(x3-x4) - (x1 - x2) * (x3 * y4 - y3 * x4);
double zy = (x1 * y2 - y1 * x2)*(y3-y4) - (y1 - y2) * (x3 * y4 - y3 * x4);
// Nenner
double n = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);
// Koordinaten des Schnittpunktes
double x = zx/n;
double y = zy/n;
// Vielleicht ist bei der Division durch n etwas schief gelaufen
if (Double.isNaN(x)& Double.isNaN(y))
{
System.out.println("NaN");
}
// Test ob der Schnittpunkt auf den angebenen Strecken liegt oder außerhalb.
if (Math.abs((x - x1) / (x2 - x1)) > 1 || Math.abs((x - x3) / (x4 - x3)) > 1 || Math.abs((y - y1) / (y2 - y1)) > 1 || Math.abs((y - y3) / (y4 - y3)) > 1 )
{
//System.out.println("Alles ok");
}
else return otherObject;
}
}
return null;
}
/**
* Placeholder for children. Children should overwrite this method to handle the case of a collision
* @param o The Object THIS collided with
*/
public void processCollision(MovingObject o)
{
}
//Getters and setters
public float getVelocity()
{
return this.velocity;
}
public void setVelocity(float v)
{
this.velocity = v;
}
public float getX()
{
return this.x;
}
public void setX(float x)
{
this.x = x;
}
public float getY()
{
return y;
}
public void setY(float y)
{
this.y = y;
}
public float getSpeedX()
{
return speedX;
}
public void setSpeedX(float speedX)
{
this.speedX = speedX;
}
public float getSpeedY()
{
return speedY;
}
public void setSpeedY(float speedY)
{
this.speedY = speedY;
}
public float getMaxSpeed()
{
return maxSpeed;
}
public void setMaxSpeed(float maxSpeed)
{
this.maxSpeed = maxSpeed;
}
public float getRotation()
{
return rotation;
}
public void setRotation(float rotation)
{
this.rotation = rotation%360;
}
public float getThrust()
{
return thrust;
}
public void setThrust(float thrust)
{
this.thrust = thrust;
}
public int getTeam()
{
return team;
}
public void setTeam(int team)
{
this.team = team;
}
public Shape getShape()
{
return shape;
}
public void setShape(Shape shape)
{
this.shape = shape;
}
}

202
Game/src/Shape.java Normal file
View File

@ -0,0 +1,202 @@
import java.util.ArrayList;
/**
* This defines the renderable shape of objects such as triangles, squares, etc.
* The Shape is defined via a list of vertices (x,y coordinates -> x,y)
* SpaceSpiel can read these vertices in the renderObject method and render the object.
* @author vanitas
*
*/
public class Shape
{
//Lists containing the vertices' x and y coordinates
private ArrayList<Float> x;
private ArrayList<Float> y;
private float size;
//the color of the shape
private float[] color;
//Template IDs
public static final int S_SHIP = 0001;
public static final int S_TURRET = 0002;
public static final int S_ITEM = 0003;
public static final int S_METROID = 0004;
public static final int S_BULLET = 0005;
public static final int S_BUTTON = 0006;
public static final int S_MENU = 0007;
/**
* Constructor
*/
public Shape()
{
//Initialize
x = new ArrayList<Float>();
y = new ArrayList<Float>();
color = new float[]{1.0f,0.2f,0.2f};
}
/**
* Second constructor (Creates an Object from a template)
* @param blueprint id of the template to create
*/
public Shape(int blueprint)
{
//Initialize
x = new ArrayList<Float>();
y = new ArrayList<Float>();
//Fill with data
this.createFromBlueprint(blueprint);
}
/**
* Create a shape from a template
* @param b id of the template
*/
public void createFromBlueprint(int b)
{
switch(b)
{
case S_SHIP:
{ //Create the shape of a ship
x.add(0f); y.add(20f); //Spitze
x.add(10f); y.add(-10f); //rechts hinten
x.add(-10f); y.add(-10f); //links hinten
this.setColor(1f, 0.2f, 0.2f);
break;
}
case S_TURRET:
{ //Create the shape of a Turret
x.add(-1f); y.add(10f); //Spitze
x.add(1f); y.add(10f);
x.add(5f); y.add(-5f); //rechts hinten
x.add(-5f); y.add(-5f); //links hinten
this.setColor(0.2f, 0.2f, 0.2f);
break;
}
case S_BULLET:
{
//Create a bullet
this.add(2.5f, 7.5f);
this.add(-2.5f, 7.5f);
this.add(-2.5f, -7.5f);
this.add(2.5f, -7.5f);
this.setColor(1f, 1f, 0f);
break;
}
case S_MENU:
{
this.add(SpaceSpiel.frameSizeX/2, SpaceSpiel.frameSizeY/2);
this.add(-SpaceSpiel.frameSizeX/2, SpaceSpiel.frameSizeY/2);
this.add(-SpaceSpiel.frameSizeX/2, -SpaceSpiel.frameSizeY/2);
this.add(SpaceSpiel.frameSizeX/2, -SpaceSpiel.frameSizeY/2);
this.setColor(0f, 0f, 0f);
break;
}
case S_BUTTON: //TODO: Mit dem Uhrzeigersinn
{
//create a Button
this.add(100f, 15f);
this.add(-0f, 15f);
this.add(-0f, -15f);
this.add(100f, -15f);
this.setColor(1f, 1f, 1f);
break;
}
case S_METROID:
{
this.add(4f, 7f);
this.add(8f,0f);
this.add(4f,-7f);
this.add(-4f,-7f);
this.add(-8f,0f);
this.add(-4f,7f);
this.setColor(0.15f, 0.15f, 0.15f);
break;
}
default:
this.setColor(0.2f, 0.2f, 0.2f);
//TODO: Add shape of multiple ammunition types and items
}
}
/**
* Add a new vertex to the shape
* @param nx
* @param ny
*/
public void add(float nx, float ny)
{
this.x.add(nx);
this.y.add(ny);
}
/**
* Modify the vertex on position pos
* @param pos position of the vertex
* @param nx new x value
* @param ny new y value
*/
public void modify(int pos, float nx, float ny)
{
this.x.set(pos, nx);
this.y.set(pos, ny);
}
/**
* return the x component of a specific vertex
* @param pos position of the vertex in the list
* @return x component
*/
public float getX(int pos)
{
return x.get(pos);
}
/**
* return the y component of a specific vertex
* @param pos position of the vertex in the list
* @return y component
*/
public float getY(int pos)
{
return y.get(pos);
}
/**
* returns the Length of the x list representative for how many vertices are in the list.
* x.size() and y.size() should be equal all the time.
* @return size of the arrays
*/
public int getLength()
{
return x.size();
}
/**
* set the color of the shape
* @param r red
* @param g green
* @param b blue
*/
public void setColor(float r, float g, float b)
{
color = new float[3];
color[0]=r;
color[1]=g;
color[2]=b;
}
/**
* returns the color of the shape
* @return color
*/
public float[] getColor()
{
//System.out.println(""+color[0]+""+color[1]+""+color[2]);
return color;
}
public void setSize(float s)
{
this.size = s;
}
public float getSize()
{
return this.size;
}
}

47
Game/src/Ship.java Normal file
View File

@ -0,0 +1,47 @@
/**
* A Spaceship that can fly and shoot
* @author vanitas
*
*/
public class Ship extends MovingObject
{
float firerate;
float burnout = 1000;
public Ship()
{
super();
this.setShape(new Shape(Shape.S_SHIP));
this.getShape().setSize(1f);
this.setMaxSpeed(1);
this.setFirerate(10);
}
public void fire(float delta)
{
while(burnout >= firerate){
float xOfBullet = (float) (this.getX()+Math.sin(Math.toRadians(this.getRotation()))*(this.getShape().getY(0)+7.5f));
float yOfBullet = (float) (this.getY()+Math.cos(Math.toRadians(this.getRotation()))*(this.getShape().getY(0)+7.5f));
Ammunition shot = new Ammunition(this.getRotation(), xOfBullet, yOfBullet, false); //TODO: Place bullet in front of the ship when fired
SpaceSpiel.getMunition().add(shot);
burnout = 0;
}
}
public void setFirerate(float firerateSec){
this.firerate = 60/firerateSec;
}
@Override
public void accelerate()
{
super.accelerate();
burnout++;
}
@Override
public void processCollision(MovingObject o)
{
System.out.println("Verloren du Lappen");
}
}

380
Game/src/SpaceSpiel.java Normal file
View File

@ -0,0 +1,380 @@
import java.util.ArrayList;
import org.lwjgl.LWJGLException;
import org.lwjgl.Sys;
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
import org.lwjgl.opengl.GL11;
import org.lwjgl.input.Mouse;
/**
* This is the main class of the game. This renders the game, handles input and output etc.
* Important methods: update, renderGL
* @author vanitas
*
*/
public class SpaceSpiel
{
long lastFrame, lastFPS; //Values to calibrate the framerate etc.
int fps;
public static final int frameSizeX = 800, frameSizeY = 600; //Resolution of the Window
@SuppressWarnings("rawtypes")
private ArrayList<ArrayList> objects; //A ArrayList containing th following Lists
private static ArrayList<Metroid> metroids; //A List Containing all the metroids
private ArrayList<MovingObject> ships; //A List Containing all the ships etc
private static ArrayList<Ammunition> munition; //A List Containing all the active fired projectiles
private ControlledShip playerShip; //The players ship
//private Menu menu; //The Menu-Display
//private boolean menuIsActive; //if menu is active this variable is true
private boolean closeRequested = false;
//private Button startbutton;
//private Button exitbutton;
/**
* Constructor
*/
@SuppressWarnings("rawtypes")
public SpaceSpiel()
{
//Initialize the menu and the for this needed variables
//menu = new Menu();
//menuIsActive = false;
//startbutton = new Button(1 , "START");
//exitbutton = new Button(2, "EXIT");
//Initialize ship and Objects (Add Objects here and dont forget to add them to the ArrayLists as well;)
playerShip = new ControlledShip();
Turret geschuetz = new Turret(playerShip.getX(),playerShip.getY());
Metroid m1 = new Metroid(3);
Metroid m2 = new Metroid(3);
Metroid m3 = new Metroid(3);
geschuetz.setParent(playerShip);
//Initialize ArrayLists
objects = new ArrayList<ArrayList>();
metroids = new ArrayList<Metroid>();
ships = new ArrayList<MovingObject>();
munition = new ArrayList<Ammunition>();
//Add Objects to Lists
ships.add(playerShip);
ships.add(geschuetz);
metroids.add(m1);
metroids.add(m2);
metroids.add(m3);
//Pack Lists together
objects.add(metroids);
objects.add(ships);
objects.add(munition);
}
/**
* This method updates all the objects (moves them, captures keyboard and mouse input etc)
* @param delta
*/
public void update(int delta)
{
//Handle Keyboard KeyPresses
//Gas geben ;)
if (Keyboard.isKeyDown(Keyboard.KEY_UP)) //Arrow up
{
playerShip.setVelocity(1f); //Set the velocity to 1 (Power on)
}
//rotation (Arrow right)
if (Keyboard.isKeyDown(Keyboard.KEY_RIGHT))
{
playerShip.turnRight(delta);
}
//Arrow left
if (Keyboard.isKeyDown(Keyboard.KEY_LEFT))
{
playerShip.turnLeft(delta);
}
//When Arrow up is released, turn down the power.
if(!Keyboard.isKeyDown(Keyboard.KEY_UP))
{
playerShip.setVelocity(0f);
}
if(Keyboard.isKeyDown(Keyboard.KEY_DOWN))
{
playerShip.setSpeedX(0);
playerShip.setSpeedY(0);
}
if(Keyboard.isKeyDown(Keyboard.KEY_W))
{
playerShip.setY(playerShip.getY()+1);
}
if(Keyboard.isKeyDown(Keyboard.KEY_A))
{
playerShip.setX(playerShip.getX()-1);
}
if(Keyboard.isKeyDown(Keyboard.KEY_D))
{
playerShip.setX(playerShip.getX()+1);
}
if(Keyboard.isKeyDown(Keyboard.KEY_S))
{
playerShip.setY(playerShip.getY()-1);
}
//If Spacebar is pressed and shotburnout is over, fire a projectile
if(Keyboard.isKeyDown(Keyboard.KEY_SPACE))
{
playerShip.fire(delta);
}
//if(Keyboard.isKeyDown(Keyboard.KEY_ESCAPE))
//{
// menuIsActive = true;
//}
//if(exitbutton.isClicked() == true)
//{
// closeRequested = true;
//}
//if(startbutton.isClicked() == true)
//{
// menuIsActive = false;
// startbutton.setClicked(false);
//}
//Call an update (movements etc.) for every Object in the game
updateObjects(delta);
updateFPS(); // update FPS Counter
}
/**
* Update (accelerate and move) all the Objects in the ArrayLists
* @param delta
*/
public void updateObjects(float delta)
{
for(int i = 0; i<objects.size(); i++)
{
ArrayList<?> l = objects.get(i);
for(int j = 0; j<l.size(); j++)
{
((MovingObject) l.get(j)).accelerate();
((MovingObject) l.get(j)).move(delta, true);
}
}
this.checkCollision();
}
/**
* Checks for all the metroids, if they've been hit by a bullet
* Also checks, if the Ship has crashed with a metroid
*/
public void checkCollision()
{
for(int i = 0; i<metroids.size(); i++)
{
for (int j = 0; j<munition.size(); j++)
{
if(i<metroids.size() && j<munition.size() && munition.get(j).intersect(metroids.get(i))!=null)
{
System.out.println("Treffer!");
metroids.get(i).processCollision(munition.get(j));
munition.remove(j);
}
}
if(i<metroids.size() && playerShip.intersect(metroids.get(i))!=null)
{
playerShip.processCollision(metroids.get(i));
}
}
}
/**
* Main Rendering method. This calls the subrendermethods for the ship, metroids etc.
* This renderes all the Objects in the Lists.
* Remember: Whatever gets rendered last gets rendered on top of everything else (Stack)
*/
public void renderGL() {
// Clear The Screen And The Depth Buffer
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
//Load ArrayLists and render every Object inside
//if(menuIsActive){
// renderObject(menu);
// renderObject(startbutton);
// renderObject(exitbutton);
//if(startbutton.bounds.contains(Mouse.getX(),(600 - Mouse.getY()))&&Mouse.isButtonDown(0)){
// startbutton.setClicked(true);
//}
//if(exitbutton.bounds.contains(Mouse.getX(),(600 - Mouse.getY()))&&Mouse.isButtonDown(0)){
// exitbutton.setClicked(true);
//}
//}
//else
{
for(int i = 0; i<objects.size(); i++)
{
ArrayList<?> l = objects.get(i);
for(int j = 0; j<l.size(); j++)
{
//Render
renderObject((MovingObject) l.get(j));
}
}
}
}
/**
* This Method should be able to render any Shape with vertices given by Shape
* @param o
*/
public void renderObject(MovingObject o)
{
//Get the shape of the object o
Shape s = o.getShape();
//get the color
float[] c = s.getColor();
//Beginn a matrix
GL11.glPushMatrix();
//Set color
GL11.glColor3f(c[0], c[1], c[2]);
//Move it
GL11.glTranslatef(o.getX(), o.getY(), 0f);
//Rotate and scale
GL11.glRotatef(-o.getRotation(), 0f, 0f, 1f);
GL11.glScalef(s.getSize(), s.getSize(), 1f);
//Translate it back
GL11.glTranslatef(-o.getX(), -o.getY(), 0f);
//Load all the Vertices
GL11.glBegin(GL11.GL_POLYGON);
for(int i = 0; i<s.getLength(); i++)
{
GL11.glVertex2f(o.getX()+s.getX(i),o.getY()+s.getY(i));
}
GL11.glEnd();
GL11.glPopMatrix();
}
/**
* Initializes the OpenGL System. Ignore this.
*/
public void initGL()
{
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, frameSizeX, 0, frameSizeY, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
}
/**
* Guess what this is.
* @param args
*/
public static void main(String[] args)
{
SpaceSpiel spiel = new SpaceSpiel();
spiel.start();
}
/**
* This method starts the game and runs the lifecycle
*/
public void start()
{
try //Create the Display
{
Display.setDisplayMode(new DisplayMode(frameSizeX, frameSizeY));
Display.create();
}
catch (LWJGLException e) //When something goes wrong, evacuate the dancefloor!!!
{
e.printStackTrace();
System.exit(0);
}
initGL(); //initialize OpenGL
// startbutton.init();
// exitbutton.init();
getDelta();
lastFPS = getTime(); //initialize timer (just for calibrating framerate, ignore this!)
//This loop runs as long as the game is running. Every run creates a frame
while (!Display.isCloseRequested() && !this.closeRequested)
{
int delta = getDelta(); //Value to sync fps and movements (lower fps != lower moves)
update(delta);
renderGL(); //Render the frame
Display.update(); //Update the display (I have no idea ;))
Display.sync(60); //cap fps to 60fps
}
Display.destroy(); //Kill the display, when the window is closed
}
/**
* Returns a value used to sync fps and movements
* @return
*/
public int getDelta()
{
long time = getTime();
int delta = 0;
//if(!menuIsActive)
{
delta = (int) (time - lastFrame); //If the menu is active, there should be no more movements etc
}
lastFrame = time;
return delta;
}
/**
* Returns the time of the system in (i think) milliseconds
* @return
*/
public long getTime()
{
return (Sys.getTime() * 1000) / Sys.getTimerResolution();
}
/**
* Updates the title of the screen with the current fps
*/
public void updateFPS()
{
if (getTime() - lastFPS > 1000)
{
Display.setTitle("The best game in the world. FPS: " + fps);
fps = 0;
lastFPS += 1000;
}
fps++;
}
@SuppressWarnings("rawtypes")
public ArrayList<ArrayList> getObjects()
{
return objects;
}
@SuppressWarnings("rawtypes")
public void setObjects(ArrayList<ArrayList> objects)
{
this.objects = objects;
}
public static ArrayList<Metroid> getMetroids()
{
return metroids;
}
public void setMetroids(ArrayList<Metroid> metroids)
{
this.metroids = metroids;
}
public ArrayList<MovingObject> getShips()
{
return ships;
}
public void setShips(ArrayList<MovingObject> ships)
{
this.ships = ships;
}
public static ArrayList<Ammunition> getMunition()
{
return munition;
}
@SuppressWarnings("static-access")
public void setMunition(ArrayList<Ammunition> munition)
{
this.munition = munition;
}
}

31
Game/src/Turret.java Normal file
View File

@ -0,0 +1,31 @@
public class Turret extends MovingObject
{
private MovingObject parent;
private Shape shape;
public Turret(float x, float y)
{
super();
this.x = x;
this.y = y;
this.setShape(new Shape(Shape.S_TURRET)); // stand vorher S_Geschütz
this.getShape().setSize(1f);
}
public void setParent(MovingObject p)
{
this.parent = p;
}
public MovingObject getParent()
{
return this.parent;
}
@Override
public void move(float delta, boolean keepOnScreen)
{
if(this.parent!=null)
{
this.x = parent.getX();
this.y = parent.getY();
}
}
}

2
download all.sh Normal file
View File

@ -0,0 +1,2 @@
cp /home/vanitas/Dropbox/Informatik/Projekte/Game/src /home/vanitas/Projekt/Game/src

670
etc/lwjgl-2.9.1/build.xml Normal file
View File

@ -0,0 +1,670 @@
<project name="LWJGL" default="all" basedir=".">
<property name="build.sysclasspath" value="last" />
<import file="platform_build/build-definitions.xml"/>
<import file="platform_build/build-generator.xml"/>
<import file="platform_build/build-applet.xml"/>
<import file="platform_build/build-webstart.xml"/>
<import file="platform_build/build-maven.xml"/>
<import file="eclipse-update/org.lwjgl.build/build-updatesite.xml"/>
<!-- ================================================================== -->
<!-- Everything below this line is targets. -->
<!-- Do not modify, unless you know what you're doing -->
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- Initialize build -->
<!-- ================================================================== -->
<target name="-initialize">
<mkdir dir="${lwjgl.bin}" taskname="initialiazing bin folder" />
<mkdir dir="${lwjgl.bin}/lwjgl" taskname="initialiazing native bin folder" />
<mkdir dir="${lwjgl.bin}/lwjgles" taskname="initialiazing native OpenGL ES bin folder"/>
<mkdir dir="${lwjgl.lib}" taskname="initialiazing lib folder" />
<mkdir dir="${lwjgl.dist}" taskname="initialiazing dist folder" />
<mkdir dir="${lwjgl.docs}/javadoc" taskname="initialiazing docs folder" />
<mkdir dir="${lwjgl.res}" taskname="initialiazing res folder" />
<mkdir dir="${lwjgl.temp}" taskname="initialiazing temp folder" />
<mkdir dir="${lwjgl.temp}/jar" taskname="initialiazing temp/jar folder" />
<mkdir dir="${lwjgl.temp}/doc" taskname="initialiazing temp/doc folder" />
<mkdir dir="${lwjgl.temp}/res" taskname="initialiazing temp/res folder" />
<mkdir dir="${lwjgl.temp}/native" taskname="initialiazing temp/native folder" />
<mkdir dir="${lwjgl.temp}/native/windows" taskname="initialiazing temp/windows folder" />
<mkdir dir="${lwjgl.temp}/native/linux" taskname="initialiazing temp/linux folder" />
<mkdir dir="${lwjgl.temp}/native/freebsd" taskname="initialiazing temp/freebsd folder" />
<mkdir dir="${lwjgl.temp}/native/macosx" taskname="initialiazing temp/macosx folder" />
<mkdir dir="${lwjgl.temp}/native/solaris" taskname="initialiazing temp/solaris folder" />
</target>
<!-- Cleans up any files created during the execution of this script -->
<target name="clean" description="Cleans all directories controlled by this ant script" depends="clean-java, clean-native"/>
<!-- Cleans up any non-native files created during the execution of this script -->
<target name="clean-java" description="Cleans non-native files generated by this ant script" depends="clean-generated">
<delete dir="${lwjgl.temp}" quiet="true" failonerror="false" taskname="cleaning temp folder" />
<delete dir="${lwjgl.docs}/javadoc" quiet="true" failonerror="false" taskname="cleaning javadoc folder" />
<!-- Delete java classes only to avoid unnecessary native recompilation -->
<delete dir="${lwjgl.bin}/org" quiet="true" failonerror="false" taskname="cleaning bin folder" />
</target>
<!-- Useful when we need to force native recompilation -->
<target name="clean-native" description="Cleans native files generated by this ant script" depends="clean-generated-native">
<delete dir="${lwjgl.bin}/lwjgl" quiet="true" failonerror="false" taskname="cleaning native bin folder" />
<delete dir="${lwjgl.bin}/lwjgles" quiet="true" failonerror="false" taskname="cleaning native OpenGL ES bin folder"/>
</target>
<!-- Creates a distribution of LWJGL -->
<target name="release" description="Creates a distribution of LWJGL using supplied native binaries">
<!-- Warn user -->
<echo message="Before running the release target, please manually compile all platforms and place required files in ${lwjgl.lib}/windows, ${lwjgl.lib}/linux, ${lwjgl.lib}/freebsd and ${lwjgl.lib}/macosx${line.separator}Missing files will result in a successfull built, but with incomplete release zips"/>
<input
message="All data in the ${lwjgl.dist} folder will be deleted. Continue? "
validargs="yes,no"
addproperty="do.delete"
/>
<condition property="do.abort">
<equals arg1="no" arg2="${do.delete}"/>
</condition>
<fail if="do.abort">Build aborted by user.</fail>
<!-- prepare -->
<delete dir="${lwjgl.dist}" quiet="true" failonerror="false" />
<antcall target="clean-java" />
<antcall target="-initialize" />
<!-- compile and create debug jars -->
<antcall target="generate-debug" />
<antcall target="compile" />
<antcall target="-createdebugjars" />
<!-- Generator will skip all templates if we don't clean -->
<delete dir="${lwjgl.bin}/org" quiet="true" failonerror="false" taskname="cleaning bin folder" />
<!-- compile and create jars -->
<antcall target="generate-all" />
<antcall target="compile" />
<antcall target="-createjars" />
<antcall target="-jars_NoDEP" />
<antcall target="javadoc" />
<antcall target="applet-release" />
<!-- copy resources to res folder -->
<copy todir="${lwjgl.temp}/res">
<fileset dir="res"/>
</copy>
<!-- copy docs -->
<copy todir="${lwjgl.temp}/doc">
<fileset dir="${lwjgl.docs}">
<patternset refid="lwjgl-docs.fileset" />
</fileset>
</copy>
<!-- create distribution from files in libs/ and temp/ -->
<antcall target="-distribution_javadoc" />
<antcall target="-distribution_source" />
<antcall target="-distribute" />
</target>
<target name="all" description="Creates the Java archives and the natives for the current platform" depends="jars, compile_native"/>
<!-- Create ONLY the jar archives -->
<target name="jars" description="Creates the Java archives ONLY and places them in libs/" depends="-initialize, generate-all, compile, -createjars">
<antcall target="-jars_NoDEP" />
</target>
<!-- Create ONLY the jar archives for the ES build -->
<target name="jars_es" description="Creates the Java archives ONLY for the ES build and places them in libs/"
depends="-initialize, generate-all, compile, -createjars_es">
<antcall target="-jars_NoDEP"/>
</target>
<target name="-jars_NoDEP">
<move todir="libs/">
<fileset dir="${lwjgl.temp}/jar">
<include name="*.jar"/>
</fileset>
</move>
</target>
<!-- Packages the java files -->
<target name="-createdebugjars">
<!-- Create lwjgl.jar -->
<jar destfile="${lwjgl.temp}/jar/lwjgl-debug.jar" taskname="lwjgl-debug.jar">
<fileset refid="lwjgl.fileset" />
<fileset refid="lwjgl.fileset.dependencies"/>
<manifest>
<attribute name="Sealed" value="true"/>
</manifest>
</jar>
</target>
<!-- Packages the java files -->
<target name="-createjars">
<!-- Create lwjgl.jar -->
<jar destfile="${lwjgl.temp}/jar/lwjgl.jar" taskname="lwjgl.jar">
<fileset refid="lwjgl.fileset" />
<fileset refid="lwjgl.fileset.dependencies"/>
<manifest>
<attribute name="Sealed" value="true"/>
</manifest>
</jar>
<!-- Create lwjgl_util_applet.jar -->
<jar destfile="${lwjgl.temp}/jar/lwjgl_util_applet.jar" taskname="lwjgl_util_applet.jar">
<fileset dir="${lwjgl.res}" includes="applet*"/>
<fileset refid="lwjgl_util_applet.fileset" />
<manifest>
<attribute name="Sealed" value="true"/>
<attribute name="Trusted-Library" value="true"/>
<attribute name="Permissions" value="all-permissions"/>
<attribute name="Codebase" value="*"/>
<attribute name="Caller-Allowable-Codebase" value="*"/>
<attribute name="Application-Library-Allowable-Codebase" value="true"/>
</manifest>
</jar>
<!-- Create lwjgl_test.jar -->
<jar destfile="${lwjgl.temp}/jar/lwjgl_test.jar" taskname="lwjgl_test.jar">
<fileset refid="lwjgl_test.fileset" />
<fileset refid="lwjgl_test_extra.fileset" />
</jar>
<!-- Create lwjgl_util.jar -->
<jar destfile="${lwjgl.temp}/jar/lwjgl_util.jar" taskname="lwjgl_util.jar">
<fileset refid="lwjgl_util.fileset" />
</jar>
</target>
<!-- Packages the java files for the ES build -->
<target name="-createjars_es">
<!-- ================================================================== -->
<!-- Generate a list of the OpenGL extension classes -->
<!-- ================================================================== -->
<fileset id="opengl-template-fileset" dir="${lwjgl.src}/generated/org/lwjgl/opengl" includes="${opengl-template-pattern}"/>
<property name="opengl-template-files" refid="opengl-template-fileset"/>
<tempfile property="temp.file"/>
<echo file="${temp.file}" message="${opengl-template-files}" taskname=""/>
<loadfile srcfile="${temp.file}" property="opengl-template-classes">
<filterchain>
<tokenfilter delimoutput=",">
<stringtokenizer delims=";"/>
<replaceregex pattern="(.+)[.]java"
replace="org/lwjgl/opengl/\1.class"/>
</tokenfilter>
</filterchain>
</loadfile>
<delete file="${temp.file}" />
<!-- Create lwjgl.jar -->
<jar destfile="${lwjgl.temp}/jar/lwjgl.jar" taskname="lwjgl.jar">
<!-- Files to include in the lwjgl.jar file, for the ES build -->
<fileset dir="${lwjgl.bin}" excludes="${opengl-template-classes}">
<patternset id="lwjgl_es.package.pattern">
<include name="org/**/*"/>
<exclude name="org/lwjgl/d3d/**"/>
<exclude name="org/lwjgl/test/**"/>
<exclude name="org/lwjgl/util/**"/>
<exclude name="org/lwjgl/examples/**"/>
</patternset>
</fileset>
<manifest>
<attribute name="Sealed" value="true"/>
</manifest>
</jar>
<!-- Create lwjgl_test.jar -->
<jar destfile="${lwjgl.temp}/jar/lwjgl_test.jar" taskname="lwjgl_test.jar">
<fileset refid="lwjgl_test_es.fileset"/>
</jar>
</target>
<!-- Distributes files -->
<target name="-distribute">
<delete>
<fileset dir="${lwjgl.temp}/native/" includes="**/*"/>
</delete>
<copy todir="${lwjgl.temp}/jar">
<fileset dir="${lwjgl.lib}/" includes="*.jar"/>
</copy>
<copy todir="${lwjgl.temp}/native/windows">
<fileset dir="${lwjgl.lib}/windows">
<patternset refid="lwjgl-windows.fileset" />
</fileset>
</copy>
<copy todir="${lwjgl.temp}/native/linux">
<fileset dir="${lwjgl.lib}/linux">
<patternset refid="lwjgl-linux.fileset" />
</fileset>
</copy>
<copy todir="${lwjgl.temp}/native/freebsd" failonerror="false">
<fileset dir="${lwjgl.lib}/freebsd">
<patternset refid="lwjgl-freebsd.fileset" />
</fileset>
</copy>
<copy todir="${lwjgl.temp}/native/macosx">
<fileset dir="${lwjgl.lib}/macosx">
<patternset refid="lwjgl-macosx.fileset" />
</fileset>
</copy>
<copy todir="${lwjgl.temp}/native/solaris">
<fileset dir="${lwjgl.lib}/solaris">
<patternset refid="lwjgl-solaris.fileset" />
</fileset>
</copy>
<!-- create base package -->
<zip destfile="${lwjgl.dist}/lwjgl-${lwjgl.version}.zip">
<zipfileset dir="${lwjgl.temp}" prefix="lwjgl-${lwjgl.version}/">
<patternset refid="lwjgl_base"/>
</zipfileset>
</zip>
<!-- create applet package -->
<zip destfile="${lwjgl.dist}/lwjgl_applet-${lwjgl.version}.zip">
<zipfileset dir="." prefix="lwjgl_applet-${lwjgl.version}/">
<patternset refid="lwjgl_applet"/>
</zipfileset>
</zip>
</target>
<!-- Creates a versioned distribution of javadocs -->
<target name="-distribution_javadoc">
<zip destfile="${lwjgl.dist}/lwjgl-docs-${lwjgl.version}.zip" basedir="${lwjgl.docs}" includes="javadoc/**" />
</target>
<!-- Creates a versioned distribution of the source code -->
<target name="-distribution_source">
<zip destfile="${lwjgl.dist}/lwjgl-source-${lwjgl.version}.zip">
<fileset refid="lwjgl.source.fileset" />
</zip>
</target>
<!-- Generates the native headers from source files -->
<target name="headers" description="invokes javah on java classes" depends="compile">
<javah classpath="${lwjgl.bin}" destdir="${lwjgl.src.native}/linux">
<class name="org.lwjgl.LinuxSysImplementation" />
<class name="org.lwjgl.opengl.LinuxEvent" />
<class name="org.lwjgl.opengl.LinuxMouse" />
<class name="org.lwjgl.opengl.LinuxKeyboard" />
<class name="org.lwjgl.opengl.LinuxDisplay" />
<class name="org.lwjgl.opengl.LinuxPeerInfo" />
</javah>
<javah classpath="${lwjgl.bin}" destdir="${lwjgl.src.native}/linux/opengl">
<class name="org.lwjgl.opengl.LinuxPbufferPeerInfo"/>
<class name="org.lwjgl.opengl.LinuxDisplayPeerInfo"/>
<class name="org.lwjgl.opengl.LinuxAWTGLCanvasPeerInfo"/>
<class name="org.lwjgl.opengl.LinuxContextImplementation"/>
<class name="org.lwjgl.opengl.LinuxCanvasImplementation"/>
</javah>
<javah classpath="${lwjgl.bin}" destdir="${lwjgl.src.native}/windows">
<class name="org.lwjgl.WindowsSysImplementation"/>
<class name="org.lwjgl.opengl.WindowsKeyboard" />
<class name="org.lwjgl.opengl.WindowsRegistry" />
<class name="org.lwjgl.opengl.WindowsDisplay"/>
<class name="org.lwjgl.opengl.WindowsDisplayPeerInfo"/>
<class name="org.lwjgl.opengl.WindowsAWTGLCanvasPeerInfo"/>
</javah>
<javah classpath="${lwjgl.bin}" destdir="${lwjgl.src.native}/windows/opengl">
<class name="org.lwjgl.opengl.WindowsPbufferPeerInfo"/>
<class name="org.lwjgl.opengl.WindowsPeerInfo"/>
<class name="org.lwjgl.opengl.WindowsContextImplementation"/>
</javah>
<javah classpath="${lwjgl.bin}" destdir="${lwjgl.src.native}/windows/opengles">
<class name="org.lwjgl.opengl.WindowsPeerInfo"/>
</javah>
<javah classpath="${lwjgl.bin}" destdir="${lwjgl.src.native}/macosx">
<class name="org.lwjgl.MacOSXSysImplementation" />
<class name="org.lwjgl.opengl.MacOSXCanvasPeerInfo" />
<class name="org.lwjgl.opengl.MacOSXPeerInfo" />
<class name="org.lwjgl.opengl.MacOSXPbufferPeerInfo" />
<class name="org.lwjgl.opengl.MacOSXDisplay" />
<class name="org.lwjgl.opengl.MacOSXContextImplementation" />
<class name="org.lwjgl.opengl.MacOSXNativeKeyboard" />
<class name="org.lwjgl.opengl.MacOSXNativeMouse" />
<class name="org.lwjgl.opengl.MacOSXMouseEventQueue" />
</javah>
<javah classpath="${lwjgl.bin}" destdir="${lwjgl.src.headers}">
<class name="org.lwjgl.opengl.AWTSurfaceLock" />
<class name="org.lwjgl.DefaultSysImplementation" />
<class name="org.lwjgl.input.Cursor" />
<class name="org.lwjgl.input.Keyboard" />
<class name="org.lwjgl.input.Mouse" />
<class name="org.lwjgl.openal.AL" />
<class name="org.lwjgl.opencl.CL" />
<class name="org.lwjgl.opencl.CallbackUtil" />
<class name="org.lwjgl.BufferUtils" />
</javah>
<javah classpath="${lwjgl.bin}" destdir="${lwjgl.src.headers}/opengl">
<class name="org.lwjgl.opengl.GLContext"/>
<class name="org.lwjgl.opengl.Pbuffer"/>
<class name="org.lwjgl.opengl.CallbackUtil"/>
<class name="org.lwjgl.opengl.NVPresentVideoUtil"/>
<class name="org.lwjgl.opengl.NVVideoCaptureUtil"/>
</javah>
<javah classpath="${lwjgl.bin}" destdir="${lwjgl.src.headers}/opengles">
<class name="org.lwjgl.opengles.EGL"/>
<class name="org.lwjgl.opengles.EGLKHRFenceSync"/>
<class name="org.lwjgl.opengles.EGLKHRReusableSync"/>
<class name="org.lwjgl.opengles.EGLNVSync"/>
<class name="org.lwjgl.opengles.GLContext"/>
<class name="org.lwjgl.opengles.CallbackUtil"/>
</javah>
</target>
<target name="touch-version">
<touch file="${lwjgl.src.native}/windows/org_lwjgl_opengl_Display.c"/>
<touch file="${lwjgl.src.native}/linux/org_lwjgl_opengl_Display.c"/>
<touch file="${lwjgl.src.native}/macosx/org_lwjgl_opengl_Display.m"/>
</target>
<target name="version-mismatch">
<loadfile srcfile="${lwjgl.src}/java/org/lwjgl/WindowsSysImplementation.java" property="lwjgl.java.windows.version">
<filterchain>
<tokenfilter>
<containsstring contains="JNI_VERSION ="/>
</tokenfilter>
</filterchain>
</loadfile>
<loadfile srcfile="${lwjgl.src}/java/org/lwjgl/LinuxSysImplementation.java" property="lwjgl.java.linux.version">
<filterchain>
<tokenfilter>
<containsstring contains="JNI_VERSION ="/>
</tokenfilter>
</filterchain>
</loadfile>
<loadfile srcfile="${lwjgl.src}/java/org/lwjgl/MacOSXSysImplementation.java" property="lwjgl.java.macosx.version">
<filterchain>
<tokenfilter>
<containsstring contains="JNI_VERSION ="/>
</tokenfilter>
</filterchain>
</loadfile>
<loadfile srcfile="${lwjgl.src.native}/windows/org_lwjgl_WindowsSysImplementation.h" property="lwjgl.native.windows.version">
<filterchain>
<tokenfilter>
<containsstring contains="#define org_lwjgl_WindowsSysImplementation_JNI_VERSION"/>
</tokenfilter>
</filterchain>
</loadfile>
<loadfile srcfile="${lwjgl.src.native}/linux/org_lwjgl_LinuxSysImplementation.h" property="lwjgl.native.linux.version">
<filterchain>
<tokenfilter>
<containsstring contains="#define org_lwjgl_LinuxSysImplementation_JNI_VERSION"/>
</tokenfilter>
</filterchain>
</loadfile>
<loadfile srcfile="${lwjgl.src.native}/macosx/org_lwjgl_MacOSXSysImplementation.h" property="lwjgl.native.macosx.version">
<filterchain>
<tokenfilter>
<containsstring contains="#define org_lwjgl_MacOSXSysImplementation_JNI_VERSION"/>
</tokenfilter>
</filterchain>
</loadfile>
<echo>
lwjgl.java.windows.version = ${lwjgl.java.windows.version}
lwjgl.native.windows.version = ${lwjgl.native.windows.version}
lwjgl.java.linux.version = ${lwjgl.java.linux.version}
lwjgl.native.linux.version = ${lwjgl.native.linux.version}
lwjgl.java.freebsd.version = ${lwjgl.java.linux.version}
lwjgl.native.freebsd.version = ${lwjgl.native.linux.version}
lwjgl.java.macosx.version = ${lwjgl.java.macosx.version}
lwjgl.native.macosx.version = ${lwjgl.native.macosx.version}
</echo>
</target>
<macrodef name="version-check">
<attribute name="platform"/>
<sequential>
<java classname="org.lwjgl.test.NativeTest" logError="false" resultproperty="nativetest.res" outputproperty="nativetest.out" errorproperty="nativetest.err" fork="true">
<jvmarg value="-Djava.library.path=libs/@{platform}"/>
<jvmarg value="-Dorg.lwjgl.util.Debug=true"/>
<classpath>
<pathelement path="${lwjgl.bin}"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>
<fail message="Unable to load native library: ${nativetest.err}">
<condition>
<not>
<equals arg1="OK" arg2="${nativetest.out}"/>
</not>
</condition>
</fail>
<echo message="Successfully executed NativeTest"/>
</sequential>
</macrodef>
<!-- Compiles the Java source code -->
<target name="compile" description="Compiles the java source code" depends="-initialize">
<javac debug="yes" destdir="${lwjgl.bin}" source="1.5" target="1.5" classpath="${lwjgl.lib}/jinput.jar:${lwjgl.lib}/AppleJavaExtensions.jar:${lwjgl.lib}/asm-debug-all.jar" taskname="core">
<!--<compilerarg value="-Xlint:unchecked"/>-->
<src path="${lwjgl.src}/java/"/>
<src path="${lwjgl.src}/generated/"/>
<include name="org/lwjgl/*.java"/>
<include name="org/lwjgl/input/**"/>
<include name="org/lwjgl/opengl/**"/>
<include name="org/lwjgl/opengles/**"/>
<include name="org/lwjgl/openal/**"/>
<include name="org/lwjgl/opencl/**"/>
<include name="org/lwjgl/util/**"/>
<exclude name="org/lwjgl/util/generator/**"/>
</javac>
<javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.bin}" includes="org/lwjgl/test/**" source="1.5" target="1.5" taskname="test" />
<javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.bin}" includes="org/lwjgl/examples/**" source="1.5" target="1.5" taskname="examples" />
</target>
<target name="compile_native" depends="-initialize, headers, touch-version, version-mismatch" description="Compiles the native files">
<condition property="lwjgl.platform.windows">
<os family="windows" />
</condition>
<antcall target="-compile_native_win32" />
<condition property="lwjgl.platform.linux">
<os name="Linux" />
</condition>
<antcall target="-compile_native_linux" />
<condition property="lwjgl.platform.freebsd">
<os name="FreeBSD" />
</condition>
<antcall target="-compile_native_freebsd" />
<condition property="lwjgl.platform.solaris">
<os name="SunOS" />
</condition>
<antcall target="-compile_native_solaris" />
<condition property="lwjgl.platform.macosx">
<os name="Mac OS X" />
</condition>
<antcall target="-compile_native_macosx" />
</target>
<!-- Compiles LWJGL on Win32 platforms -->
<target name="-compile_native_win32" if="lwjgl.platform.windows">
<ant antfile="platform_build/windows_ant/build.xml" inheritAll="false"/>
<copy todir="${lwjgl.lib}/windows">
<fileset dir="${lwjgl.bin}/lwjgl" includes="lwjgl*.dll"/>
</copy>
<version-check platform="windows"/>
</target>
<!-- Compiles LWJGL on Linux platforms -->
<target name="-compile_native_linux" if="lwjgl.platform.linux">
<ant antfile="platform_build/linux_ant/build.xml" inheritAll="false"/>
<copy todir="${lwjgl.lib}/linux">
<fileset dir="${lwjgl.bin}/lwjgl" includes="liblwjgl*.so"/>
</copy>
<!-- headless issues <version-check platform="linux"/> -->
</target>
<!-- Compiles LWJGL on FreeBSD platforms -->
<target name="-compile_native_freebsd" if="lwjgl.platform.freebsd">
<ant antfile="platform_build/bsd_ant/build.xml" inheritAll="false"/>
<copy todir="${lwjgl.lib}/freebsd">
<fileset dir="${lwjgl.bin}/lwjgl" includes="liblwjgl*.so"/>
</copy>
</target>
<!-- Compiles LWJGL on solaris platforms -->
<target name="-compile_native_solaris" if="lwjgl.platform.solaris">
<!-- Reusing the linux ant task, but copy the output to solaris -->
<ant antfile="platform_build/linux_ant/build.xml" inheritAll="false"/>
<copy todir="${lwjgl.lib}/solaris">
<fileset dir="${lwjgl.bin}/lwjgl" includes="liblwjgl*.so"/>
</copy>
<version-check platform="solaris"/>
</target>
<!-- Compiles LWJGL on Mac platforms -->
<target name="-compile_native_macosx" if="lwjgl.platform.macosx">
<ant antfile="platform_build/macosx_ant/build.xml" inheritAll="false"/>
<copy file="${lwjgl.bin}/lwjgl/liblwjgl.jnilib" todir="${lwjgl.lib}/macosx"/>
<version-check platform="macosx"/>
</target>
<target name="compile_native_es" depends="-initialize, headers, touch-version, version-mismatch" description="Compiles the native files">
<condition property="lwjgl.platform.windows">
<os family="windows"/>
</condition>
<antcall target="-compile_native_win32_es"/>
<condition property="lwjgl.platform.linux">
<os name="Linux"/>
</condition>
<antcall target="-compile_native_linux_es"/>
</target>
<!-- Compiles LWJGL ES on Win32 platforms -->
<target name="-compile_native_win32_es" if="lwjgl.platform.windows">
<ant antfile="platform_build/windows_ant/build_es.xml" inheritAll="false"/>
<copy todir="${lwjgl.lib}/windows">
<fileset dir="${lwjgl.bin}/lwjgles" includes="lwjgl*.dll"/>
</copy>
</target>
<!-- Compiles LWJGL ES on Linux platforms -->
<target name="-compile_native_linux_es" if="lwjgl.platform.linux">
<ant antfile="platform_build/linux_ant/build_es.xml" inheritAll="false"/>
<copy todir="${lwjgl.lib}/linux">
<fileset dir="${lwjgl.bin}/lwjgles" includes="liblwjgl*.so"/>
</copy>
</target>
<target name="repack200" description="Pack200-repack a jar file">
<pack200 src="${input}" destfile="${output}" repack="true"/>
</target>
<target name="pack200" description="Pack200 a jar file">
<pack200 src="${input}" destfile="${output}"/>
</target>
<target name="lzma" description="LZMA compress a file">
<java fork="true" classname="SevenZip.LzmaAlone">
<classpath>
<pathelement location="platform_build/JLzma.jar"/>
</classpath>
<jvmarg value="-Xmx512m"/>
<arg value="e"/>
<arg value="${input}"/>
<arg value="${output}"/>
</java>
</target>
<target name="compress-sign-class">
<antcall target="repack200">
<param name="input" value="${dir}${jarfile}.jar"/>
<param name="output" value="${dir}${jarfile}-repack.jar"/>
</antcall>
<signjar jar="${dir}${jarfile}-repack.jar" alias="${alias}" keystore="${keystore}" storepass="${password}"/>
<antcall target="pack200">
<param name="input" value="${dir}${jarfile}-repack.jar"/>
<param name="output" value="${dir}${jarfile}.jar.pack"/>
</antcall>
<antcall target="lzma">
<param name="input" value="${dir}${jarfile}.jar.pack"/>
<param name="output" value="${outputdir}${jarfile}.jar.pack.lzma"/>
</antcall>
<!--delete file="${dir}${jarfile}-repack.jar"/-->
<delete file="${dir}${jarfile}.jar.pack"/>
<!--delete file="${dir}${jarfile}.jar"/-->
<rename src="${dir}${jarfile}-repack.jar" dest="${dir}${jarfile}.jar" replace="yes"/>
</target>
<target name="compress-resource">
<antcall target="lzma">
<param name="input" value="${input}"/>
<param name="output" value="${output}"/>
</antcall>
</target>
<target name="applettest" depends="applet">
<exec executable="appletviewer">
<arg value="-J-Djava.security.policy=applet/appletviewer.policy"/>
<arg path="applet/applet.html"/>
</exec>
</target>
<target name="runtest" depends="all">
<fail message="test.mainclass is not set. Use 'ant -Dtest.mainclass=&lt;main-class&gt; runtest'" unless="test.mainclass"/>
<condition property="native_path" value="libs/windows">
<os family="windows" />
</condition>
<condition property="native_path" value="libs/linux">
<or>
<os name="Linux" />
<os name="SunOS" />
</or>
</condition>
<condition property="native_path" value="libs/macosx">
<os name="Mac OS X" />
</condition>
<property name="native_path_expanded" location="${native_path}"/>
<java classname="${test.mainclass}" classpath="res:${lwjgl.lib}/lwjgl.jar:${lwjgl.lib}/lwjgl_util.jar:${lwjgl.lib}/lwjgl_test.jar:${lwjgl.lib}/jinput.jar" fork="true">
<sysproperty key="org.lwjgl.util.Debug" value="true"/>
<sysproperty key="java.library.path" value="${native_path_expanded}"/>
<arg line="${args}"/>
</java>
</target>
<!-- Creates the Javadoc -->
<target name="javadoc" description="Creates javadoc from java source code">
<javadoc destdir="${lwjgl.docs}/javadoc" classpath="${lwjgl.lib}/jinput.jar" author="true" version="true" use="true" source="1.5" windowtitle="LWJGL API" useexternalfile="true">
<fileset refid="lwjgl.javadoc.fileset" />
<doctitle><![CDATA[<h1>Lightweight Java Game Toolkit</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright &#169; 2002-2009 lwjgl.org. All Rights Reserved.</i>]]></bottom>
</javadoc>
</target>
<!-- get and copy nightly binaries into libs folder -->
<target name="copy-nightly-binaries" depends="-initialize" description="Copies latest successful nightly binaries into appropriate libs folder">
<delete file="${lwjgl.temp}/lwjgl-${lwjgl.version}.zip" failonerror="false"/>
<get src="http://ci.newdawnsoftware.com/view/LWJGL/job/LWJGL-git-dist/lastSuccessfulBuild/artifact/dist/lwjgl-${lwjgl.version}.zip" dest="${lwjgl.temp}" verbose="true"/>
<unzip src="${lwjgl.temp}/lwjgl-${lwjgl.version}.zip" dest="${lwjgl.lib}" overwrite="true">
<patternset>
<include name="**/native/**/*lwjgl*"/>
</patternset>
<globmapper from="lwjgl-${lwjgl.version}/native/*" to="*"/>
</unzip>
</target>
</project>

View File

@ -0,0 +1,32 @@
/*****************************************************************************
* Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* - Redistribution of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* - Redistribution in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materails provided with the distribution.
*
* Neither the name Sun Microsystems, Inc. or the names of the contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* This software is provided "AS IS," without a warranty of any kind.
* ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
* ANY IMPLIED WARRANT OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
* NON-INFRINGEMEN, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND
* ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS
* A RESULT OF USING, MODIFYING OR DESTRIBUTING THIS SOFTWARE OR ITS
* DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST
* REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,
* INCIDENTAL OR PUNITIVE DAMAGES. HOWEVER CAUSED AND REGARDLESS OF THE THEORY
* OF LIABILITY, ARISING OUT OF THE USE OF OUR INABILITY TO USE THIS SOFTWARE,
* EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
*
* You acknowledge that this software is not designed or intended for us in
* the design, construction, operation or maintenance of any nuclear facility
*
*****************************************************************************/

View File

@ -0,0 +1,152 @@
JOGL is released under the BSD license. The full license terms follow:
Copyright (c) 2003-2009 Sun Microsystems, Inc. All Rights Reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
- Redistribution of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistribution 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 Sun Microsystems, Inc. or the names of
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
This software is provided "AS IS," without a warranty of any kind. ALL
EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
You acknowledge that this software is not designed or intended for use
in the design, construction, operation or maintenance of any nuclear
facility.
The JOGL source tree contains code ported from the OpenGL sample
implementation by Silicon Graphics, Inc. This code is licensed under
the SGI Free Software License B (Sun is redistributing the modified code
under a slightly modified, alternative license, which is described two
paragraphs below after "NOTE:"):
License Applicability. Except to the extent portions of this file are
made subject to an alternative license as permitted in the SGI Free
Software License B, Version 1.1 (the "License"), the contents of this
file are subject only to the provisions of the License. You may not use
this file except in compliance with the License. You may obtain a copy
of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
http://oss.sgi.com/projects/FreeB
Note that, as provided in the License, the Software is distributed on an
"AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
NOTE: The Original Code (as defined below) has been licensed to Sun
Microsystems, Inc. ("Sun") under the SGI Free Software License B
(Version 1.1), shown above ("SGI License"). Pursuant to Section
3.2(3) of the SGI License, Sun is distributing the Covered Code to
you under an alternative license ("Alternative License"). This
Alternative License includes all of the provisions of the SGI License
except that Section 2.2 and 11 are omitted. Any differences between
the Alternative License and the SGI License are offered solely by Sun
and not by SGI.
Original Code. The Original Code is: OpenGL Sample Implementation,
Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
Copyright in any portions created by third parties is as indicated
elsewhere herein. All Rights Reserved.
Additional Notice Provisions: The application programming interfaces
established by SGI in conjunction with the Original Code are The
OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
Window System(R) (Version 1.3), released October 19, 1998. This software
was created using the OpenGL(R) version 1.2.1 Sample Implementation
published by SGI, but has not been independently verified as being
compliant with the OpenGL(R) version 1.2.1 Specification.
The JOGL source tree contains code from the LWJGL project which is
similarly covered by the BSD license:
Copyright (c) 2002-2004 LWJGL Project
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 'LWJGL' 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 OWNER 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.
The JOGL source tree also contains a Java port of Brian Paul's Tile
Rendering library, used with permission of the author under the BSD
license instead of the original LGPL:
Copyright (c) 1997-2005 Brian Paul. All Rights Reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
- Redistribution of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistribution 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 Brian Paul or the names of contributors may be
used to endorse or promote products derived from this software
without specific prior written permission.
This software is provided "AS IS," without a warranty of any
kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
EXCLUDED. THE COPYRIGHT HOLDERS AND CONTRIBUTORS SHALL NOT BE
LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING,
MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO
EVENT WILL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY
LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
INABILITY TO USE THIS SOFTWARE, EVEN IF THE COPYRIGHT HOLDERS OR
CONTRIBUTORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

View File

@ -0,0 +1,15 @@
LZMA# SDK is licensed under two licenses:
1) GNU Lesser General Public License (GNU LGPL)
2) Common Public License (CPL)
It means that you can select one of these two licenses and
follow rules of that license.
SPECIAL EXCEPTION
Igor Pavlov, as the author of this code, expressly permits you
to statically or dynamically link your code (or bind by name)
to the files from LZMA# SDK without subjecting your linked
code to the terms of the CPL or GNU LGPL.
Any modifications or additions to files from LZMA# SDK, however,
are subject to the GNU LGPL or CPL terms.

View File

@ -0,0 +1,437 @@
GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Library General Public License, applies to some
specially designated Free Software Foundation software, and to any
other libraries whose authors decide to use it. You can use it for
your libraries, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if
you distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright
the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain
that everyone understands that there is no warranty for this free
library. If the library is modified by someone else and passed on, we
want its recipients to know that what they have is not the original
version, so that any problems introduced by others will not reflect on
the original authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software. To prevent this,
we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.
Most GNU software, including some libraries, is covered by the ordinary
GNU General Public License, which was designed for utility programs. This
license, the GNU Library General Public License, applies to certain
designated libraries. This license is quite different from the ordinary
one; be sure to read it in full, and don't assume that anything in it is
the same as in the ordinary license.
The reason we have a separate public license for some libraries is that
they blur the distinction we usually make between modifying or adding to a
program and simply using it. Linking a program with a library, without
changing the library, is in some sense simply using the library, and is
analogous to running a utility program or application program. However, in
a textual and legal sense, the linked executable is a combined work, a
derivative of the original library, and the ordinary General Public License
treats it as such.
Because of this blurred distinction, using the ordinary General
Public License for libraries did not effectively promote software
sharing, because most developers did not use the libraries. We
concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the
users of those programs of all benefit from the free status of the
libraries themselves. This Library General Public License is intended to
permit developers of non-free programs to use free libraries, while
preserving your freedom as a user of such programs to change the free
libraries that are incorporated in them. (We have not seen how to achieve
this as regards changes in header files, but we have achieved it as regards
changes in the actual functions of the Library.) The hope is that this
will lead to faster development of free libraries.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, while the latter only
works together with the library.
Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which
contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Library
General Public License (also called "this License"). Each licensee is
addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also compile or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
c) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
d) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS

View File

@ -0,0 +1,38 @@
The following people have helped to make this project what it is today:
- Caspian Rychlik-Prince <cprince@shavenpuppy.com>
- Brian Matzon <brian@matzon.dk>
- Elias Naur <elias.naur@gmail.com>
- Ioannis Tsakpinis <spasi@users.sourceforge.net>
- Niels J<>rgensen <nj@niemo.com>
- Tristan Campbell <tristan@happypedestrian.com>
- Gregory Pierce <gregorypierce@yahoo.com>
- Luke Holden <lholden@users.sf.net>
- Mark Bernard <captainjester@users.sourceforge.net>
- Erik Duijs <eduijs@users.sourceforge.net>
- Jos Hirth <jhirth@kaioa.com>
- Kevin Glass <kevin@cokeandcode.com>
- Atsuya Takagi
- kappaOne <one.kappa@gmail.com>
- Simon Felix
- Ryan McNally
- Ciardhubh <ciardhubh[at]ciardhubh.de>
- Jens von Pilgrim
- Ruben Garat
- Pelle Johnsen <pelle.johnsen@gmail.com>
- Jae Kwon
additional credits goes to:
- Joseph I. Valenzuela [OpenAL stuff]
- Lev Povalahev [OpenGL Extensions]
- Endolf [Nightly builds and JInput]
The LWJGL project includes files from or depends on the following projects:
- OpenGL, SGI - http://opengl.org/
- OpenAL, Creative Labs - http://openal.org/
- jinput, Sun - https://jinput.dev.java.net/
- lzma, p7zip - http://p7zip.sourceforge.net/
- JOGL, Sun - http://kenai.com/projects/jogl/pages/Home
Please see the /doc/3rdparty/ directory for licenses.
All trademarks and registered trademarks are the property of their respective owners.

View File

@ -0,0 +1,31 @@
/*
* Copyright (c) 2002-2008 Lightweight Java Game Library Project
* 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 'Light Weight Java Game Library' 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 OWNER 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.
*/

View File

@ -0,0 +1,50 @@
This is the official readme file for lwjgl.
Unless otherwise stated, all files distributed or in SVN are covered by
the license as stated in the LICENSE file. If you have not received this
file, please download it from the cvs server.
To run some of the included tests:
Extract the archive, and cd into directory
(please substitute ; and \ according to platform)
java -cp .;res;jar\lwjgl.jar;jar\lwjgl_test.jar;jar\lwjgl_util.jar;jar\jinput.jar; -Djava.library.path=native\<windows|linux|macosx|solaris> TEST
(this specifies that the jvm should locate the lwjgl native libs in 'native' directory)
where TEST is some of the following:
org.lwjgl.test.WindowCreationTest
org.lwjgl.test.SysTest
org.lwjgl.test.DisplayTest
org.lwjgl.test.input.MouseCreationTest
org.lwjgl.test.input.MouseTest
org.lwjgl.test.input.HWCursorTest
org.lwjgl.test.input.KeyboardTest
org.lwjgl.test.input.TestControllers
org.lwjgl.test.openal.ALCTest
org.lwjgl.test.openal.OpenALCreationTest
org.lwjgl.test.openal.MovingSoundTest
org.lwjgl.test.openal.PlayTest
org.lwjgl.test.openal.PlayTestMemory
org.lwjgl.test.openal.SourceLimitTest
org.lwjgl.test.openal.PositionTest
org.lwjgl.test.openal.StressTest
org.lwjgl.test.openal.SourceLimitTest
org.lwjgl.test.opengl.FullScreenWindowedTest
org.lwjgl.test.opengl.PbufferTest
org.lwjgl.test.opengl.VBOIndexTest
org.lwjgl.test.opengl.VBOTest
org.lwjgl.test.opengl.pbuffers.PbufferTest
org.lwjgl.test.opengl.shaders.ShadersTest
You may also run the Space invaders demo by executing:
java -cp .;res;jar\lwjgl.jar;jar\lwjgl_test.jar;jar\lwjgl_util.jar; -Djava.library.path=native\<windows|linux|macosx|solaris> org.lwjgl.examples.spaceinvaders.Game
Project Webpage: www.lwjgl.org
Project Forum: forum.lwjgl.org
Project SVN: https://java-game-lib.svn.sourceforge.net/svnroot/java-game-lib

View File

@ -0,0 +1,28 @@
LWJGL "Hidden" switches:
org.lwjgl.opengl.Display.noinput
Do not initialize any controls when creating the display
org.lwjgl.opengl.Display.nomouse
Do not create the mouse when creating the display
org.lwjgl.opengl.Display.nokeyboard
Do not create the keyboard when creating the display
org.lwjgl.util.Debug
Whether to output debug info
org.lwjgl.util.NoChecks
Whether to disable runtime function/buffer checks and state tracking.
org.lwjgl.opengl.Display.allowSoftwareOpenGL
Whether to allow creation of a software only opengl context
org.lwjgl.opengl.Window.undecorated
Whether to create an undecorated window (no title bar)
org.lwjgl.input.Mouse.allowNegativeMouseCoords
Usually mouse is clamped to 0,0 - setting this to true will cause you to get negative values if dragging outside and below or left of window
org.lwjgl.opengl.Display.enableHighDPI
Enable high DPI mode where available

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,127 @@
<?xml version="1.0"?>
<project name="lwjgl native code, bsd" basedir="../../bin/lwjgl" default="compile">
<property name="native" location="../../src/native"/>
<property name="libname32" value="liblwjgl.so"/>
<property name="libname64" value="liblwjgl64.so"/>
<property name="libs32" value="-L/usr/local/lib -lm -lX11 -lXext -lXcursor -lXrandr -pthread -L${java.home}/lib/i386 -ljawt" />
<property name="libs64" value="-L/usr/local/lib -lm -lX11 -lXext -lXcursor -lXrandr -lXxf86vm -pthread -L${java.home}/lib/amd64 -ljawt" />
<property name="cflags32" value="-O2 -Wall -c -fPIC -std=c99 -Wunused"/>
<target name="clean">
<delete>
<fileset dir="x32"/>
<fileset dir="x64"/>
<fileset dir="." includes="*.o"/>
<fileset dir="." includes="*.so"/>
</delete>
</target>
<target name="compile">
<exec executable="uname" outputproperty="hwplatform">
<arg value="-m"/>
</exec>
<condition property="xf86vm_lib" value="-lXxf86vm" else="-Wl,-static,-lXxf86vm,-call_shared">
<os name="SunOS" />
</condition>
<condition property="cflags_pthread" value="-pthreads" else="-pthread">
<os name="SunOS" />
</condition>
<condition property="version_script_flags32" value="" else="-Wl,--version-script='${native}/linux/lwjgl.map'">
<os name="SunOS" />
</condition>
<condition property="version_script_flags64" value="-m64" else="-Wl,--version-script='${native}/linux/lwjgl.map'">
<and>
<os name="SunOS" />
</and>
</condition>
<condition property="cflags64" value="-O2 -m64 -Wall -c -fPIC -std=c99 -Wunused" else="-O2 -Wall -c -fPIC -std=c99 -Wunused">
<os name="SunOS" />
</condition>
<property name="linker_flags32" value="${version_script_flags32} -shared -O2 -Wall -o ${libname32} ${libs32} ${xf86vm_lib}"/>
<property name="linker_flags64" value="${version_script_flags64} -shared -O2 -Wall -o ${libname64} ${libs64} ${xf86vm_lib}"/>
<condition property="build.32bit.only">
<and>
<os name="FreeBSD"/>
<equals arg1="${hwplatform}" arg2="i386"/>
</and>
</condition>
<!-- On freebsd, the 64 bit jre doesn't have the 32 bit libs -->
<condition property="build.64bit.only">
<and>
<os name="FreeBSD"/>
<equals arg1="${hwplatform}" arg2="amd64"/>
</and>
</condition>
<antcall target="compile32"/>
<antcall target="compile64"/>
</target>
<target name="compile32" unless="build.64bit.only">
<mkdir dir="x32"/>
<apply dir="x32" executable="cc" skipemptyfilesets="true" failonerror="true">
<arg line="${cflags32} ${cflags_pthread}"/>
<arg value="-I${java.home}/include"/>
<arg value="-I${java.home}/include/freebsd"/>
<arg value="-I${java.home}/../include"/>
<arg value="-I${java.home}/../include/freebsd"/>
<arg value="-I/usr/local/include"/>
<arg value="-I${native}/common"/>
<arg value="-I${native}/common/opengl"/>
<arg value="-I${native}/linux"/>
<arg value="-I${native}/linux/opengl"/>
<mapper type="glob" from="*.c" to="*.o"/>
<fileset dir="${native}/common" includes="*.c"/>
<fileset dir="${native}/common/opengl" includes="*.c"/>
<fileset dir="${native}/generated/openal" includes="*.c"/>
<fileset dir="${native}/generated/opencl" includes="*.c"/>
<fileset dir="${native}/generated/opengl" includes="*.c"/>
<fileset dir="${native}/linux" includes="*.c"/>
<fileset dir="${native}/linux/opengl" includes="*.c"/>
</apply>
<apply dir="." parallel="true" executable="cc" failonerror="true">
<srcfile/>
<arg line="${linker_flags32}"/>
<fileset dir="x32" includes="*.o"/>
</apply>
<apply dir="." parallel="true" executable="strip" failonerror="true">
<fileset file="${libname32}"/>
</apply>
</target>
<target name="compile64" unless="build.32bit.only">
<mkdir dir="x64"/>
<apply dir="x64" executable="cc" skipemptyfilesets="true" failonerror="true">
<arg line="${cflags64} ${cflags_pthread}"/>
<arg value="-I${java.home}/include"/>
<arg value="-I${java.home}/include/freebsd"/>
<arg value="-I${java.home}/../include"/>
<arg value="-I${java.home}/../include/freebsd"/>
<arg value="-I/usr/local/include"/>
<arg value="-I${native}/common"/>
<arg value="-I${native}/common/opengl"/>
<arg value="-I${native}/linux"/>
<arg value="-I${native}/linux/opengl"/>
<mapper type="glob" from="*.c" to="*.o"/>
<fileset dir="${native}/common" includes="*.c"/>
<fileset dir="${native}/common/opengl" includes="*.c"/>
<fileset dir="${native}/generated/openal" includes="*.c"/>
<fileset dir="${native}/generated/opencl" includes="*.c"/>
<fileset dir="${native}/generated/opengl" includes="*.c"/>
<fileset dir="${native}/linux" includes="*.c"/>
<fileset dir="${native}/linux/opengl" includes="*.c"/>
</apply>
<apply dir="." parallel="true" executable="cc" failonerror="true">
<srcfile/>
<arg line="${linker_flags64}"/>
<fileset dir="x64" includes="*.o"/>
</apply>
<apply dir="." parallel="true" executable="strip" failonerror="true">
<fileset file="${libname64}"/>
</apply>
</target>
</project>

View File

@ -0,0 +1,158 @@
<project name="applet">
<!-- Create our packer task -->
<taskdef name="pack200" classname="com.sun.tools.apache.ant.pack200.Pack200Task" classpath="platform_build/Pack200Task.jar"/>
<target name="applet">
<antcall target="-applet">
<param name="keystore" value="applet/lwjglkeystore"/>
<param name="alias" value="lwjgl"/>
<param name="password" value="123456"/>
</antcall>
</target>
<target name="applet-release">
<input message="Please enter the keystore" addproperty="keystore.location" defaultvalue="applet/lwjglkeystore"/>
<input message="Please enter the keystore alias" addproperty="keystore.alias" defaultvalue="lwjgl"/>
<input message="Please type the password for the keystore" addproperty="sign.pwd" defaultvalue="123456"/>
<antcall target="-applet">
<!--
<param name="keystore" value="signing/matzon_java_code_signing.keystore"/>
<param name="alias" value="oddlabs_java_code_signing"/>
<param name="password" value="${sign.pwd}"/>
-->
<param name="keystore" value="${keystore.location}"/>
<param name="alias" value="${keystore.alias}"/>
<param name="password" value="${sign.pwd}"/>
</antcall>
</target>
<target name="-applet">
<!-- Create lwjgl_applet.jar -->
<jar destfile="applet/basic/lwjgl_applet.jar" taskname="lwjgl_applet.jar">
<fileset refid="lwjgl_applet.fileset" />
</jar>
<!-- create each of the native jars -->
<jar destfile="applet/basic/windows_natives.jar" taskname="windows_natives.jar">
<fileset dir="${lwjgl.lib}/windows">
<patternset refid="lwjgl-windows.fileset"/>
</fileset>
</jar>
<signjar jar="applet/basic/windows_natives.jar" alias="${alias}" keystore="${keystore}" storepass="${password}"/>
<jar destfile="applet/basic/linux_natives.jar" taskname="linux_natives.jar">
<fileset dir="${lwjgl.lib}/linux">
<patternset refid="lwjgl-linux.fileset"/>
</fileset>
</jar>
<signjar jar="applet/basic/linux_natives.jar" alias="${alias}" keystore="${keystore}" storepass="${password}"/>
<jar destfile="applet/basic/macosx_natives.jar" taskname="macosx_natives.jar">
<fileset dir="${lwjgl.lib}/macosx">
<patternset refid="lwjgl-macosx.fileset"/>
</fileset>
</jar>
<signjar jar="applet/basic/macosx_natives.jar" alias="${alias}" keystore="${keystore}" storepass="${password}"/>
<jar destfile="applet/basic/solaris_natives.jar" taskname="solaris_natives.jar">
<fileset dir="${lwjgl.lib}/solaris">
<patternset refid="lwjgl-solaris.fileset"/>
</fileset>
</jar>
<signjar jar="applet/basic/solaris_natives.jar" alias="${alias}" keystore="${keystore}" storepass="${password}"/>
<copy file="${lwjgl.lib}/lwjgl.jar" todir="applet/basic" overwrite="true"/>
<copy file="${lwjgl.lib}/lwjgl-debug.jar" todir="applet/basic" overwrite="true"/>
<copy file="${lwjgl.lib}/lwjgl_util_applet.jar" todir="applet/basic" overwrite="true"/>
<copy file="${lwjgl.lib}/lwjgl_util.jar" todir="applet/basic" overwrite="true"/>
<copy file="${lwjgl.lib}/jinput.jar" todir="applet/basic" overwrite="true"/>
<input
message="Press Return key to continue..."
/>
<copy file="${lwjgl.lib}/lzma.jar" todir="applet/advance" overwrite="true"/>
<signjar jar="applet/basic/lwjgl_util_applet.jar" alias="${alias}" keystore="${keystore}" storepass="${password}"/>
<input
message="Press Return key to continue..."
/>
<signjar jar="applet/advance/lzma.jar" alias="${alias}" keystore="${keystore}" storepass="${password}"/>
<input
message="Press Return key to continue..."
/>
<copy file="applet/basic/lwjgl_util_applet.jar" todir="applet/advance" overwrite="true"/>
<!-- LZMA only, for 1.4 only clients -->
<!--antcall target="compress-resource">
<param name="input" value="applet/basic/lwjgl.jar"/>
<param name="output" value="applet/advance/lwjgl.jar.lzma"/>
</antcall>
<antcall target="compress-resource">
<param name="input" value="applet/basic/lwjgl-debug.jar"/>
<param name="output" value="applet/advance/lwjgl-debug.jar.lzma"/>
</antcall>
<antcall target="compress-resource">
<param name="input" value="applet/basic/lwjgl_util.jar"/>
<param name="output" value="applet/advance/lwjgl_util.jar.lzma"/>
</antcall>
<antcall target="compress-resource">
<param name="input" value="applet/basic/jinput.jar"/>
<param name="output" value="applet/advance/jinput.jar.lzma"/>
</antcall>
<antcall target="compress-resource">
<param name="input" value="applet/basic/lwjgl_applet.jar"/>
<param name="output" value="applet/advance/lwjgl_applet.jar.lzma"/>
</antcall>
<antcall target="compress-resource">
<param name="input" value="applet/basic/windows_natives.jar"/>
<param name="output" value="applet/advance/windows_natives.jar.lzma"/>
</antcall -->
<antcall target="compress-sign-class">
<param name="dir" value="applet/basic/"/>
<param name="outputdir" value="applet/advance/"/>
<param name="jarfile" value="lwjgl"/>
</antcall>
<antcall target="compress-sign-class">
<param name="dir" value="applet/basic/"/>
<param name="outputdir" value="applet/advance/"/>
<param name="jarfile" value="lwjgl-debug"/>
</antcall>
<antcall target="compress-sign-class">
<param name="dir" value="applet/basic/"/>
<param name="outputdir" value="applet/advance/"/>
<param name="jarfile" value="lwjgl_util"/>
</antcall>
<antcall target="compress-sign-class">
<param name="dir" value="applet/basic/"/>
<param name="outputdir" value="applet/advance/"/>
<param name="jarfile" value="jinput"/>
</antcall>
<antcall target="compress-sign-class">
<param name="dir" value="applet/basic/"/>
<param name="outputdir" value="applet/advance/"/>
<param name="jarfile" value="lwjgl_applet"/>
</antcall>
<antcall target="compress-resource">
<param name="input" value="applet/basic/windows_natives.jar"/>
<param name="output" value="applet/advance/windows_natives.jar.lzma"/>
</antcall>
<antcall target="compress-resource">
<param name="input" value="applet/basic/macosx_natives.jar"/>
<param name="output" value="applet/advance/macosx_natives.jar.lzma"/>
</antcall>
<antcall target="compress-resource">
<param name="input" value="applet/basic/linux_natives.jar"/>
<param name="output" value="applet/advance/linux_natives.jar.lzma"/>
</antcall>
<antcall target="compress-resource">
<param name="input" value="applet/basic/solaris_natives.jar"/>
<param name="output" value="applet/advance/solaris_natives.jar.lzma"/>
</antcall>
</target>
</project>

View File

@ -0,0 +1,203 @@
<project name="definitions">
<!-- ================================================================== -->
<!-- Global properties for build -->
<!-- ================================================================== -->
<property name="lwjgl.src" location="src" />
<property name="lwjgl.src.native" location="${lwjgl.src}/native" />
<property name="lwjgl.src.headers" location="${lwjgl.src.native}/common" />
<property name="lwjgl.src.templates" location="${lwjgl.src}/templates" />
<property name="lwjgl.bin" location="bin" />
<property name="lwjgl.lib" location="libs" />
<property name="lwjgl.dist" location="dist" />
<property name="lwjgl.docs" location="doc" />
<property name="lwjgl.temp" location="temp" />
<property name="lwjgl.res" location="res" />
<property name="lwjgl.version" value="2.9.1" />
<property name="lwjgl.web" location="www" />
<property name="lwjgl.src.templates.al" location="${lwjgl.src.templates}/org/lwjgl/openal"/>
<property name="lwjgl.src.templates.gl" location="${lwjgl.src.templates}/org/lwjgl/opengl"/>
<property name="lwjgl.src.templates.gles" location="${lwjgl.src.templates}/org/lwjgl/opengles"/>
<property name="lwjgl.src.templates.cl" location="${lwjgl.src.templates}/org/lwjgl/opencl"/>
<property name="openal-template-pattern" value="AL*.java,EFX*.java"/>
<property name="opengl-template-pattern" value="GL*.java,ARB*.java,EXT*.java,KHR*.java,AMD*.java,APPLE*.java,ATI*.java,NV*.java,NVX*.java,HP*.java,IBM*.java,SUN*.java,SGIS*.java,GREMEDY*.java,INTEL*.java"/>
<property name="opengles-template-pattern" value="GLES*.java,ARB*.java,EXT*.java,KHR*.java,AMD*.java,ANGLE*.java,APPLE*.java,ARM*.java,DMP*.java,IMG*.java,NV*.java,OES*.java,QCOM*.java,VIV*.java"/>
<property name="opencl-template-pattern-extensions" value="KHR*.java,EXT*.java,APPLE*.java,AMD*.java,INTEL*.java,NV*.java"/>
<property name="opencl-template-pattern" value="CL*.java,${opencl-template-pattern-extensions}"/>
<!-- ================================================================== -->
<!-- Filesets used for targets -->
<!-- ================================================================== -->
<!-- Files to include in the lwjgl.jar file -->
<fileset id="lwjgl.fileset" dir="${lwjgl.bin}">
<patternset id="lwjgl.package.pattern">
<include name="org/**/*" />
<exclude name="org/lwjgl/opengles/**"/>
<exclude name="org/lwjgl/d3d/**" />
<exclude name="org/lwjgl/test/**" />
<exclude name="org/lwjgl/util/**" />
<exclude name="org/lwjgl/examples/**" />
</patternset>
</fileset>
<fileset id="lwjgl.fileset.dependencies" dir="${lwjgl.bin}">
<patternset id="lwjgl.package.dependencies.pattern">
<include name="org/lwjgl/opengles/ContextAttribs*.*"/>
</patternset>
</fileset>
<!-- Files to include in the lwjgl_util_applet.jar file -->
<fileset id="lwjgl_util_applet.fileset" dir="${lwjgl.bin}">
<patternset id="lwjgl_util_applet.package.pattern">
<exclude name="**.*"/>
<include name="org/lwjgl/util/applet/**"/>
</patternset>
</fileset>
<!-- Files to include in the lwjgl_test.jar file -->
<fileset id="lwjgl_test.fileset" dir="${lwjgl.bin}">
<exclude name="**.*" />
<include name="org/lwjgl/test/**" />
<exclude name="org/lwjgl/test/opengles/**"/>
<include name="org/lwjgl/examples/**" />
</fileset>
<!-- More files to include in the lwjgl_test.jar file -->
<fileset id="lwjgl_test_extra.fileset" dir="${lwjgl.src}/java">
<exclude name="**.*" />
<include name="org/lwjgl/test/opengl/shaders/*.fp" />
<include name="org/lwjgl/test/opengl/shaders/*.vp" />
<include name="org/lwjgl/test/opengl/shaders/*.vsh" />
<include name="org/lwjgl/test/opengl/shaders/*.fsh" />
<include name="org/lwjgl/test/opencl/gl/*.cl" />
</fileset>
<!-- Files to include in the lwjgl_test.jar file for the ES build -->
<fileset id="lwjgl_test_es.fileset" dir="${lwjgl.bin}">
<exclude name="**.*"/>
<include name="org/lwjgl/test/**"/>
<exclude name="org/lwjgl/test/opengl/**"/>
<exclude name="org/lwjgl/test/*.*"/>
</fileset>
<!-- Files to include in the lwjgl_util.jar file -->
<fileset id="lwjgl_util.fileset" dir="${lwjgl.bin}">
<patternset id="lwjgl_util.package.pattern">
<exclude name="**.*" />
<exclude name="org/lwjgl/util/generator/**" />
<exclude name="org/lwjgl/util/applet/**" />
<include name="org/lwjgl/util/**" />
</patternset>
</fileset>
<!-- Files to include in the lwjgl_applet.jar file -->
<fileset id="lwjgl_applet.fileset" dir="${lwjgl.bin}">
<exclude name="**.*"/>
<include name="org/lwjgl/test/applet/**"/>
<include name="org/lwjgl/test/opengl/awt/AWTGearsCanvas.class"/>
</fileset>
<!-- Files to make Javadoc from -->
<fileset id="lwjgl.javadoc.fileset" dir="${lwjgl.src}">
<include name="**/*.java" />
<exclude name="native/**" />
<exclude name="templates/**" />
<exclude name="java/org/lwjgl/test/**" />
<exclude name="java/org/lwjgl/examples/**" />
<exclude name="java/org/lwjgl/util/generator/**" />
</fileset>
<!-- Files to include in doc package -->
<patternset id="lwjgl-docs.fileset">
<include name="CREDITS" />
<include name="LICENSE" />
<include name="README" />
<include name="lwjgl_hidden_switches.text" />
<include name="3rdparty/*" />
</patternset>
<!-- Files to include in windows package -->
<patternset id="lwjgl-windows.fileset">
<patternset id="lwjgl-windows-lwjgl.fileset">
<include name="lwjgl.dll" />
<include name="lwjgl64.dll" />
<include name="OpenAL32.dll" />
<include name="OpenAL64.dll" />
</patternset>
<patternset id="lwjgl-windows-jinput.fileset">
<include name="jinput-dx8*.dll" />
<include name="jinput-raw*.dll" />
</patternset>
</patternset>
<!-- Files to include in linux, glibc2.3 package -->
<patternset id="lwjgl-linux.fileset">
<patternset id="lwjgl-linux-lwjgl.fileset">
<include name="liblwjgl*.so" />
<include name="libopenal*.so" />
</patternset>
<patternset id="lwjgl-linux-jinput.fileset">
<include name="libjinput-linux.so" />
<include name="libjinput-linux64.so" />
</patternset>
</patternset>
<!-- Files to include in mac os x package -->
<patternset id="lwjgl-macosx.fileset">
<patternset id="lwjgl-macosx-lwjgl.fileset">
<include name="liblwjgl.jnilib" />
<include name="openal.dylib" />
</patternset>
<patternset id="lwjgl-macosx-jinput.fileset">
<include name="libjinput-osx.jnilib" />
<include name="libjinput-osx-legacy.jnilib" />
</patternset>
</patternset>
<!-- Files to include in solaris package -->
<patternset id="lwjgl-solaris.fileset">
<include name="liblwjgl*.so" />
<include name="libopenal*.so" />
</patternset>
<!-- Files to include in source distribution -->
<fileset id="lwjgl.source.fileset" dir=".">
<include name="build.xml" />
<include name="src/**" />
<include name="platform_build/**/*" />
</fileset>
<!-- files in the base package -->
<patternset id="lwjgl_base">
<include name="**" />
<exclude name="res/ILtest.*" />
<exclude name="res/Missing_you.mod" />
<exclude name="res/phero*.*" />
</patternset>
<!-- files in the optional package -->
<patternset id="lwjgl_optional">
<include name="res/**" />
<exclude name="res/logo/**" />
<exclude name="res/spaceinvaders/**" />
<exclude name="res/*.wav" />
<exclude name="res/*.xpm" />
<include name="doc/CREDITS" />
<include name="doc/LICENSE" />
<include name="doc/README" />
</patternset>
<!-- files in the lwjgl_applet package -->
<patternset id="lwjgl_applet">
<include name="applet/**" />
<exclude name="applet/appletviewer.policy" />
<exclude name="applet/lwjglkeystore" />
</patternset>
<uptodate property="lwjgl.main.built" targetfile="${lwjgl.lib}/windows/lwjgl.dll" >
<srcfiles dir= "${lwjgl.src.native}/common" includes="*.c*"/>
<srcfiles dir= "${lwjgl.src.native}/windows" includes="*.c"/>
</uptodate>
</project>

View File

@ -0,0 +1,340 @@
<project name="generator">
<import file="build-definitions.xml"/>
<!-- clean the generated files -->
<target name="clean-generated" description="Deletes the generated java source">
<delete quiet="true" failonerror="false">
<fileset dir="${lwjgl.src}/generated" includes="**"/>
</delete>
</target>
<target name="clean-generated-native" description="Deletes the generated native source" depends="clean-generated">
<delete quiet="false" failonerror="false">
<fileset dir="${lwjgl.src.native}/generated" includes="**"/>
</delete>
</target>
<!-- Compiles the Java generator source code -->
<target name="generators" description="Compiles the native method generators">
<javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.bin}" includes="org/lwjgl/util/generator/**.java" source="1.5" target="1.5" taskname="generator">
<include name="org/lwjgl/util/generator/openal/**.java"/>
<include name="org/lwjgl/util/generator/opengl/**.java"/>
<include name="org/lwjgl/util/generator/opengles/**.java"/>
<include name="org/lwjgl/util/generator/opencl/**.java"/>
<compilerarg value="-Xlint:none"/>
</javac>
<!-- Compile helper classes used by the templates -->
<javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.bin}" source="1.5" target="1.5" taskname="generator">
<include name="org/lwjgl/PointerWrapper.java"/>
<include name="org/lwjgl/PointerBuffer.java"/>
<!-- OpenGL -->
<include name="org/lwjgl/opengl/GLSync.java"/>
<include name="org/lwjgl/opengl/AMDDebugOutputCallback.java"/>
<include name="org/lwjgl/opengl/ARBDebugOutputCallback.java"/>
<include name="org/lwjgl/opengl/KHRDebugCallback.java"/>
<!-- OpenGL ES -->
<include name="org/lwjgl/opengles/EGLImageOES.java"/>
<include name="org/lwjgl/opengles/KHRDebugCallback.java"/>
<!-- OpenCL -->
<include name="org/lwjgl/opencl/CLPlatform.java"/>
<include name="org/lwjgl/opencl/CLDevice.java"/>
<include name="org/lwjgl/opencl/CLContext.java"/>
<include name="org/lwjgl/opencl/CLCommandQueue.java"/>
<include name="org/lwjgl/opencl/CLMem.java"/>
<include name="org/lwjgl/opencl/CL*Callback.java"/>
<include name="org/lwjgl/opencl/CLNativeKernel.java"/>
<include name="org/lwjgl/opencl/CLFunctionAddress.java"/>
</javac>
</target>
<!-- Proxy target to generate it all -->
<target name="generate-all" depends="generate-openal, generate-opengl, generate-opengl-capabilities, generate-opengl-references, generate-opengles, generate-opengles-capabilities, generate-opencl, generate-opencl-capabilities" description="Generates java and native source"/>
<target name="generate-debug" depends="generate-openal-debug, generate-opengl-debug, generate-opengl-capabilities-debug, generate-opengl-references, generate-opengles-debug, generate-opengles-capabilities-debug, generate-opencl-debug, generate-opencl-capabilities-debug" description="Generates java and native source with debug functionality"/>
<!-- ********************************************************************************
*********************************************************************************
OPENAL
*********************************************************************************
**************************************************************************** -->
<!-- Generate OpenAL -->
<target name="generate-openal" depends="generators" description="Generates java and native source for AL">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.al}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.GeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<arg value="-d"/>
<arg path="${lwjgl.src.native}/generated/openal"/>
<arg value="-Abinpath=${lwjgl.bin}"/>
<arg value="-Atypemap=org.lwjgl.util.generator.openal.ALTypeMap"/>
<fileset dir="${lwjgl.src.templates.al}" includes="${openal-template-pattern}"/>
</apply>
</target>
<!-- Generate OpenAL [DEBUG] -->
<target name="generate-openal-debug" depends="generators" description="Generates java and native source for AL">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.al}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.GeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<arg value="-d"/>
<arg path="${lwjgl.src.native}/generated/openal"/>
<arg value="-Abinpath=${lwjgl.bin}"/>
<arg value="-Atypemap=org.lwjgl.util.generator.openal.ALTypeMap"/>
<arg value="-Ageneratechecks"/>
<fileset dir="${lwjgl.src.templates.al}" includes="${openal-template-pattern}"/>
</apply>
</target>
<!-- ********************************************************************************
*********************************************************************************
OPENGL
*********************************************************************************
**************************************************************************** -->
<!-- Generate OpenGL -->
<target name="generate-opengl" depends="generators" description="Generates java and native source for GL">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.gl}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.GeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<arg value="-d"/>
<arg path="${lwjgl.src.native}/generated/opengl"/>
<arg value="-Abinpath=${lwjgl.bin}"/>
<arg value="-Acontextspecific"/>
<arg value="-Atypemap=org.lwjgl.util.generator.opengl.GLTypeMap"/>
<fileset dir="${lwjgl.src.templates.gl}" includes="${opengl-template-pattern}"/>
</apply>
</target>
<!-- Generate OpenGL [DEBUG] -->
<target name="generate-opengl-debug" depends="generators" description="Generates debug java and native source for GL">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.gl}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.GeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<arg value="-d"/>
<arg path="${lwjgl.src.native}/generated/opengl"/>
<arg value="-Abinpath=${lwjgl.bin}"/>
<arg value="-Ageneratechecks"/>
<arg value="-Acontextspecific"/>
<arg value="-Atypemap=org.lwjgl.util.generator.opengl.GLTypeMap"/>
<fileset dir="${lwjgl.src.templates.gl}" includes="${opengl-template-pattern}"/>
</apply>
</target>
<!-- Generate OpenGL references -->
<target name="generate-opengl-references" depends="generators" description="Generates java and native source for GL">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.gl}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.opengl.GLReferencesGeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<fileset dir="${lwjgl.src.templates.gl}" includes="${opengl-template-pattern}"/>
</apply>
</target>
<!-- Generate OpenGL context capabilities -->
<target name="generate-opengl-capabilities" depends="generators" description="Generates java and native source for GL">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.gl}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.opengl.GLGeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<arg value="-Acontextspecific"/>
<fileset dir="${lwjgl.src.templates.gl}" includes="${opengl-template-pattern}"/>
</apply>
</target>
<!-- Generate OpenGL context capabilities [DEBUG] -->
<target name="generate-opengl-capabilities-debug" depends="generators" description="Generates debug java and native source for GL">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.gl}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.opengl.GLGeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<arg value="-Ageneratechecks"/>
<arg value="-Acontextspecific"/>
<fileset dir="${lwjgl.src.templates.gl}" includes="${opengl-template-pattern}"/>
</apply>
</target>
<!-- ********************************************************************************
*********************************************************************************
OPENGL ES
*********************************************************************************
**************************************************************************** -->
<!-- Generate OpenGL ES -->
<target name="generate-opengles" depends="generators" description="Generates java and native source for GL ES">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.gles}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.GeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<arg value="-d"/>
<arg path="${lwjgl.src.native}/generated/opengles"/>
<arg value="-Abinpath=${lwjgl.bin}"/>
<!--<arg value="-Acontextspecific"/>-->
<arg value="-Atypemap=org.lwjgl.util.generator.opengl.GLESTypeMap"/>
<fileset dir="${lwjgl.src.templates.gles}" includes="${opengles-template-pattern}"/>
</apply>
</target>
<!-- Generate OpenGL ES [DEBUG] -->
<target name="generate-opengles-debug" depends="generators" description="Generates debug java and native source for GL ES">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.gles}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.GeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<arg value="-d"/>
<arg path="${lwjgl.src.native}/generated/opengles"/>
<arg value="-Abinpath=${lwjgl.bin}"/>
<arg value="-Ageneratechecks"/>
<!--<arg value="-Acontextspecific"/>-->
<arg value="-Atypemap=org.lwjgl.util.generator.opengl.GLESTypeMap"/>
<fileset dir="${lwjgl.src.templates.gles}" includes="${opengles-template-pattern}"/>
</apply>
</target>
<!-- Generate OpenGL ES context capabilities -->
<target name="generate-opengles-capabilities" depends="generators" description="Generates java and native source for GL ES">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.gles}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.opengl.GLESGeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<!--<arg value="-Acontextspecific"/>-->
<fileset dir="${lwjgl.src.templates.gles}" includes="${opengles-template-pattern}"/>
</apply>
</target>
<!-- Generate OpenGL ES context capabilities [DEBUG] -->
<target name="generate-opengles-capabilities-debug" depends="generators" description="Generates debug java and native source for GL ES">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.gles}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.opengl.GLESGeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<arg value="-Ageneratechecks"/>
<!--<arg value="-Acontextspecific"/>-->
<fileset dir="${lwjgl.src.templates.gles}" includes="${opengles-template-pattern}"/>
</apply>
</target>
<!-- ********************************************************************************
*********************************************************************************
OPENCL
*********************************************************************************
**************************************************************************** -->
<!-- Generate OpenCL -->
<target name="generate-opencl" depends="generators" description="Generates java and native source for CL">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.cl}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.GeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<arg value="-d"/>
<arg path="${lwjgl.src.native}/generated/opencl"/>
<arg value="-Abinpath=${lwjgl.bin}"/>
<arg value="-Acontextspecific"/>
<arg value="-Atypemap=org.lwjgl.util.generator.opencl.CLTypeMap"/>
<fileset dir="${lwjgl.src.templates.cl}" includes="${opencl-template-pattern}"/>
</apply>
</target>
<!-- Generate OpenCL [DEBUG] -->
<target name="generate-opencl-debug" depends="generators" description="Generates debug java and native source for CL">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.cl}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.GeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<arg value="-d"/>
<arg path="${lwjgl.src.native}/generated/opencl"/>
<arg value="-Abinpath=${lwjgl.bin}"/>
<arg value="-Ageneratechecks"/>
<arg value="-Acontextspecific"/>
<arg value="-Atypemap=org.lwjgl.util.generator.opencl.CLTypeMap"/>
<fileset dir="${lwjgl.src.templates.cl}" includes="${opencl-template-pattern}"/>
</apply>
</target>
<!-- Generate OpenCL capabilities -->
<target name="generate-opencl-capabilities" depends="generators" description="Generates capabilities for CL">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.cl}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.opencl.CLGeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<arg value="-Acontextspecific"/>
<fileset dir="${lwjgl.src.templates.cl}" includes="${opencl-template-pattern}"/>
</apply>
</target>
<!-- Generate OpenCL capabilities [DEBUG] -->
<target name="generate-opencl-capabilities-debug" depends="generators" description="Generates debug capabilities for CL">
<apply executable="apt" parallel="true" dir="${lwjgl.src.templates.cl}" relative="true">
<arg value="-nocompile"/>
<arg value="-factory"/>
<arg value="org.lwjgl.util.generator.opencl.CLGeneratorProcessorFactory"/>
<arg value="-cp"/>
<arg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.bin}:${java.class.path}"/>
<arg value="-s"/>
<arg path="${lwjgl.src}/generated"/>
<arg value="-Ageneratechecks"/>
<arg value="-Acontextspecific"/>
<fileset dir="${lwjgl.src.templates.cl}" includes="${opencl-template-pattern}"/>
</apply>
</target>
</project>

View File

@ -0,0 +1,211 @@
<project name="maven">
<property name="lwjgl.src.java" location="${lwjgl.src}/java" />
<property name="lwjgl.src.generated" location="${lwjgl.src}/generated" />
<property name="lwjgl.maven" location="maven" />
<property name="lwjgl.dstMaven" location="${lwjgl.temp}/maven" />
<property name="lwjgl.src.java" location="${lwjgl.src}/java" />
<property name="jinput.version" value="2.0.5" />
<fileset id="lwjgl-sources.manual.fileset" dir="${lwjgl.src.java}">
<patternset refid="lwjgl.package.pattern" />
<patternset refid="lwjgl.package.dependencies.pattern"/>
</fileset>
<fileset id="lwjgl-sources.generated.fileset" dir="${lwjgl.src.generated}">
<include name="**/*" />
</fileset>
<fileset id="lwjgl_util_applet-sources.fileset" dir="${lwjgl.src.java}">
<patternset refid="lwjgl_util_applet.package.pattern" />
</fileset>
<fileset id="lwjgl_util-sources.fileset" dir="${lwjgl.src.java}">
<patternset refid="lwjgl_util.package.pattern" />
</fileset>
<target name="-fixmavenversion">
<script language="javascript">
<![CDATA[
importPackage(java.lang);
var originalVersion = project.getProperty("lwjgl.version");
System.out.println("LWJGL Version: " + originalVersion);
var mavenVersion = originalVersion;
if(originalVersion.match(/^[0-9]+\.[0-9]+$/)){
System.out.println("Fixing LWJGL Maven version (Maven version should be x.y.z)");
mavenVersion = originalVersion + ".0";
}
if(!mavenVersion.match(/^.*-SNAPSHOT$/)){
var forceSnapshot = project.getProperty("snapshot")
if(forceSnapshot!=null && forceSnapshot!="false"){
System.out.println("Forcing Maven Version to Snapshot");
mavenVersion = mavenVersion + "-SNAPSHOT";
}
}
project.setNewProperty("lwjgl-maven-version",mavenVersion);
System.out.println("LWJGL Maven Version: " + project.getProperty("lwjgl-maven-version"));
]]>
</script>
</target>
<target name="-checkjinputversion">
<script language="javascript" classpath="${lwjgl.lib}/jinput.jar">
<![CDATA[
importPackage(java.lang);
var version = net.java.games.input.Version.getVersion()
project.setNewProperty("jinputversion",version);
var declaredJinputVersion = project.getProperty("jinput.version");
System.out.println("JINPUT Version: " + version + " - DeclaredVersion: " + declaredJinputVersion);
if(declaredJinputVersion.equals(version)){
System.out.println("JINPUT Version Matches");
project.setNewProperty("jinputversionmatches", true);
} else {
System.out.println("JINPUT Version don't match");
}
]]>
</script>
<condition property="failjinputcheck">
<and>
<not><isset property="jinputversionmatches" /></not>
<not><isset property="overridejinput" /></not>
</and>
</condition>
<fail if="failjinputcheck" message="Jinput version in project (${jinputversion}) is different from the declared jinput version for maven (${jinput.version}) add -Doverridejinput=true as a command line option to avoid this check" />
</target>
<target name="maven-full">
<antcall target="clean-java" />
<antcall target="-initialize" />
<antcall target="generate-all" />
<antcall target="compile" />
<antcall target="-createjars" />
<antcall target="maven"/>
</target>
<target name="maven" depends="-fixmavenversion, -checkjinputversion"> <!-- Added as dependency because using antcall creates a new project scope -->
<delete dir="${lwjgl.dstMaven}" quiet="true" failonerror="false" taskname="cleaning maven dist" />
<mkdir dir="${lwjgl.dstMaven}" taskname="initialiazing temp maven folder" />
<antcall target="-copylwjgljars" />
<antcall target="-createmavensourcejars" />
<antcall target="-createmavenjavadocs" />
<antcall target="-createmavennativejars" />
<antcall target="-copymavenpoms"/>
<antcall target="-copymavendeploybuild"/>
<antcall target="-copymaventdist"/>
</target>
<target name="-copylwjgljars">
<copy todir="${lwjgl.dstMaven}">
<fileset dir="${lwjgl.temp}/jar/">
<patternset>
<include name="lwjgl.jar" />
<include name="lwjgl_util.jar" />
<include name="lwjgl_util_applet.jar" />
</patternset>
</fileset>
</copy>
</target>
<!-- Packages the java files -->
<target name="-createmavensourcejars">
<jar destfile="${lwjgl.dstMaven}/lwjgl-sources.jar" taskname="lwjgl-sources.jar">
<fileset refid="lwjgl-sources.manual.fileset" />
<fileset refid="lwjgl-sources.generated.fileset" />
</jar>
<jar destfile="${lwjgl.dstMaven}/lwjgl_util_applet-sources.jar" taskname="lwjgl_util_applet-sources.jar">
<fileset refid="lwjgl_util_applet-sources.fileset" />
</jar>
<jar destfile="${lwjgl.dstMaven}/lwjgl_util-sources.jar" taskname="lwjgl_util-sources.jar">
<fileset refid="lwjgl_util-sources.fileset" />
</jar>
</target>
<target name="-createmavenjavadocs">
<!-- Creates the Javadoc -->
<javadoc destdir="${lwjgl.dstMaven}/lwjgl-javadoc" classpath="${lwjgl.lib}/jinput.jar" author="true" version="true" use="true" source="1.5" windowtitle="LWJGL API" useexternalfile="true">
<fileset refid="lwjgl-sources.manual.fileset"/>
<fileset refid="lwjgl-sources.generated.fileset"/>
<doctitle><![CDATA[<h1>Lightweight Java Game Toolkit</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright &#169; 2002-2010 lwjgl.org. All Rights Reserved.</i>]]></bottom>
</javadoc>
<jar destfile="${lwjgl.dstMaven}/lwjgl-javadoc.jar" taskname="lwjgl-javadoc.jar">
<fileset dir="${lwjgl.dstMaven}/lwjgl-javadoc" />
</jar>
<javadoc destdir="${lwjgl.dstMaven}/lwjgl_util-javadoc" classpath="${lwjgl.lib}/jinput.jar:${lwjgl.lib}/lwjgl.jar" author="true" version="true" use="true" source="1.5" windowtitle="LWJGL UTIL API" useexternalfile="true">
<fileset refid="lwjgl_util-sources.fileset"/>
<doctitle><![CDATA[<h1>Lightweight Java Game Toolkit</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright &#169; 2002-2010 lwjgl.org. All Rights Reserved.</i>]]></bottom>
</javadoc>
<jar destfile="${lwjgl.dstMaven}/lwjgl_util-javadoc.jar" taskname="lwjgl_util-javadoc.jar">
<fileset dir="${lwjgl.dstMaven}/lwjgl_util-javadoc" />
</jar>
<javadoc destdir="${lwjgl.dstMaven}/lwjgl_util_applet-javadoc" classpath="${lwjgl.lib}/jinput.jar:${lwjgl.lib}/lwjgl.jar" author="true" version="true" use="true" source="1.5" windowtitle="LWJGL UTIL API" useexternalfile="true">
<fileset refid="lwjgl_util_applet-sources.fileset"/>
<doctitle><![CDATA[<h1>Lightweight Java Game Toolkit</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright &#169; 2002-2010 lwjgl.org. All Rights Reserved.</i>]]></bottom>
</javadoc>
<jar destfile="${lwjgl.dstMaven}/lwjgl_util_applet-javadoc.jar" taskname="lwjgl_util_applet-javadoc.jar">
<fileset dir="${lwjgl.dstMaven}/lwjgl_util_applet-javadoc" />
</jar>
<delete dir="${lwjgl.dstMaven}/lwjgl-javadoc" quiet="true" failonerror="false" taskname="cleaning maven javadoc temps lwjgl" />
<delete dir="${lwjgl.dstMaven}/lwjgl_util-javadoc" quiet="true" failonerror="false" taskname="cleaning maven javadoc temps lwjgl_util" />
<delete dir="${lwjgl.dstMaven}/lwjgl_util_applet-javadoc" quiet="true" failonerror="false" taskname="cleaning maven javadoc temps lwjgl_util_applet" />
</target>
<target name="-createmavennativejars">
<jar destfile="${lwjgl.dstMaven}/lwjgl-platform-natives-windows.jar" taskname="lwjgl-platform-natives-windows.jar">
<fileset dir="${lwjgl.lib}/windows">
<patternset refid="lwjgl-windows-lwjgl.fileset"/>
</fileset>
</jar>
<jar destfile="${lwjgl.dstMaven}/lwjgl-platform-natives-linux.jar" taskname="lwjgl-platform-natives-linux.jar">
<fileset dir="${lwjgl.lib}/linux">
<patternset refid="lwjgl-linux-lwjgl.fileset"/>
</fileset>
</jar>
<jar destfile="${lwjgl.dstMaven}/lwjgl-platform-natives-osx.jar" taskname="lwjgl-platform-natives-osx.jar">
<fileset dir="${lwjgl.lib}/macosx">
<patternset refid="lwjgl-macosx-lwjgl.fileset"/>
</fileset>
</jar>
</target>
<target name="-copymavenpoms">
<copy todir="${lwjgl.dstMaven}">
<fileset dir="${lwjgl.maven}">
<include name="*.pom" />
</fileset>
<filterset>
<filter token="VERSION" value="${lwjgl-maven-version}"/>
<filter token="JINPUTVERSION" value="${jinput.version}"/>
</filterset>
</copy>
</target>
<target name="-copymavendeploybuild">
<copy todir="${lwjgl.dstMaven}">
<fileset dir="${lwjgl.maven}">
<include name="build.xml" />
</fileset>
</copy>
</target>
<target name="-copymaventdist">
<zip destfile="${lwjgl.dist}/lwjgl-maven-${lwjgl.version}.zip" basedir="${lwjgl.temp}" includes="maven/**" />
</target>
</project>

View File

@ -0,0 +1,181 @@
<project name="webstart">
<target name="webstart_demo" depends="jars">
<antcall target="-webstart_demo">
<param name="keystore" value="applet/lwjglkeystore"/>
<param name="alias" value="lwjgl"/>
<param name="password" value="123456"/>
</antcall>
</target>
<target name="webstart_demo-release">
<input message="Please type the password for the keystore" addproperty="sign.pwd"/>
<antcall target="-webstart_demo">
<param name="keystore" value="signing/lwjgl.jks"/>
<param name="alias" value="lwjgl"/>
<param name="password" value="${sign.pwd}"/>
</antcall>
</target>
<!-- Create webstart demo and extension from release files -->
<target name="-webstart_demo" description="Using released files, creates the necessary files used for jnlp demos">
<!-- delete existing temp -->
<delete dir="${lwjgl.temp}"/>
<!-- unzip release to temp dir -->
<unzip src="${lwjgl.dist}/lwjgl-${lwjgl.version}.zip" dest="${lwjgl.temp}/webstart/temp" overwrite="true"/>
<!-- DEMO SECTION -->
<move file="${lwjgl.temp}/webstart/temp/lwjgl-${lwjgl.version}/jar/lwjgl_test.jar" tofile="${lwjgl.temp}/webstart/lwjgl_test.jar"/>
<jar destfile="${lwjgl.temp}/webstart/lwjgl_test.jar" update="true">
<manifest>
<attribute name="Sealed" value="true"/>
</manifest>
</jar>
<jar destfile="${lwjgl.temp}/webstart/media.jar" basedir="${lwjgl.res}">
<manifest>
<attribute name="Sealed" value="true"/>
</manifest>
</jar>
<!-- EXTENSION SECTION -->
<move todir="${lwjgl.temp}/webstart/${lwjgl.version}/" flatten="true">
<fileset dir="${lwjgl.temp}/webstart/temp">
<include name="**/jinput.jar"/>
<include name="**/lwjgl*.jar"/>
<exclude name="**/lwjgl_util_applet.jar"/>
<exclude name="**/lwjgl-debug.jar"/>
</fileset>
</move>
<jar destfile="${lwjgl.temp}/webstart/${lwjgl.version}/lwjgl.jar" update="true">
<manifest>
<attribute name="Specification-Title" value="LWJGL ${lwjgl.version}"/>
<attribute name="Specification-Version" value="${lwjgl.version}"/>
<attribute name="Specification-Vendor" value="lwjgl.org"/>
<attribute name="Implementation-Title" value="LWJGL ${lwjgl.version}"/>
<attribute name="Implementation-Version" value="${lwjgl.version}"/>
<attribute name="Implementation-Vendor" value="lwjgl.org"/>
<attribute name="Implementation-Vendor-Id" value="org.lwjgl"/>
<attribute name="Extension-Name" value="org.lwjgl"/>
<attribute name="Sealed" value="true"/>
<attribute name="Trusted-Library" value="true"/>
</manifest>
</jar>
<jar destfile="${lwjgl.temp}/webstart/${lwjgl.version}/jinput.jar" update="true">
<manifest>
<attribute name="Specification-Title" value="LWJGL ${lwjgl.version}"/>
<attribute name="Specification-Version" value="${lwjgl.version}"/>
<attribute name="Specification-Vendor" value="lwjgl.org"/>
<attribute name="Implementation-Title" value="LWJGL ${lwjgl.version}"/>
<attribute name="Implementation-Version" value="${lwjgl.version}"/>
<attribute name="Implementation-Vendor" value="lwjgl.org"/>
<attribute name="Implementation-Vendor-Id" value="org.lwjgl"/>
<attribute name="Extension-Name" value="org.lwjgl"/>
<attribute name="Sealed" value="true"/>
<attribute name="Trusted-Library" value="true"/>
</manifest>
</jar>
<jar destfile="${lwjgl.temp}/webstart/${lwjgl.version}/lwjgl_util.jar" update="true">
<manifest>
<attribute name="Specification-Title" value="LWJGL ${lwjgl.version}"/>
<attribute name="Specification-Version" value="${lwjgl.version}"/>
<attribute name="Specification-Vendor" value="lwjgl.org"/>
<attribute name="Implementation-Title" value="LWJGL ${lwjgl.version}"/>
<attribute name="Implementation-Version" value="${lwjgl.version}"/>
<attribute name="Implementation-Vendor" value="lwjgl.org"/>
<attribute name="Implementation-Vendor-Id" value="org.lwjgl"/>
<attribute name="Extension-Name" value="org.lwjgl"/>
<attribute name="Sealed" value="true"/>
<attribute name="Trusted-Library" value="true"/>
</manifest>
</jar>
<!-- create native jars -->
<jar destfile="${lwjgl.temp}/webstart/${lwjgl.version}/native_windows.jar" basedir="${lwjgl.temp}/webstart/temp/lwjgl-${lwjgl.version}/native/windows">
<manifest>
<attribute name="Specification-Title" value="LWJGL ${lwjgl.version}"/>
<attribute name="Specification-Version" value="${lwjgl.version}"/>
<attribute name="Specification-Vendor" value="lwjgl.org"/>
<attribute name="Implementation-Title" value="LWJGL ${lwjgl.version}"/>
<attribute name="Implementation-Version" value="${lwjgl.version}"/>
<attribute name="Implementation-Vendor" value="lwjgl.org"/>
<attribute name="Implementation-Vendor-Id" value="org.lwjgl"/>
<attribute name="Extension-Name" value="org.lwjgl"/>
<attribute name="Sealed" value="true"/>
<attribute name="Trusted-Library" value="true"/>
</manifest>
</jar>
<jar destfile="${lwjgl.temp}/webstart/${lwjgl.version}/native_linux.jar" basedir="${lwjgl.temp}/webstart/temp/lwjgl-${lwjgl.version}/native/linux">
<manifest>
<attribute name="Specification-Title" value="LWJGL ${lwjgl.version}"/>
<attribute name="Specification-Version" value="${lwjgl.version}"/>
<attribute name="Specification-Vendor" value="lwjgl.org"/>
<attribute name="Implementation-Title" value="LWJGL ${lwjgl.version}"/>
<attribute name="Implementation-Version" value="${lwjgl.version}"/>
<attribute name="Implementation-Vendor" value="lwjgl.org"/>
<attribute name="Implementation-Vendor-Id" value="org.lwjgl"/>
<attribute name="Extension-Name" value="org.lwjgl"/>
<attribute name="Sealed" value="true"/>
<attribute name="Trusted-Library" value="true"/>
</manifest>
</jar>
<jar destfile="${lwjgl.temp}/webstart/${lwjgl.version}/native_macosx.jar" basedir="${lwjgl.temp}/webstart/temp/lwjgl-${lwjgl.version}/native/macosx">
<manifest>
<attribute name="Specification-Title" value="LWJGL ${lwjgl.version}"/>
<attribute name="Specification-Version" value="${lwjgl.version}"/>
<attribute name="Specification-Vendor" value="lwjgl.org"/>
<attribute name="Implementation-Title" value="LWJGL ${lwjgl.version}"/>
<attribute name="Implementation-Version" value="${lwjgl.version}"/>
<attribute name="Implementation-Vendor" value="lwjgl.org"/>
<attribute name="Implementation-Vendor-Id" value="org.lwjgl"/>
<attribute name="Extension-Name" value="org.lwjgl"/>
<attribute name="Sealed" value="true"/>
<attribute name="Trusted-Library" value="true"/>
</manifest>
</jar>
<jar destfile="${lwjgl.temp}/webstart/${lwjgl.version}/native_solaris.jar" basedir="${lwjgl.temp}/webstart/temp/lwjgl-${lwjgl.version}/native/solaris">
<manifest>
<attribute name="Specification-Title" value="LWJGL ${lwjgl.version}"/>
<attribute name="Specification-Version" value="${lwjgl.version}"/>
<attribute name="Specification-Vendor" value="lwjgl.org"/>
<attribute name="Implementation-Title" value="LWJGL ${lwjgl.version}"/>
<attribute name="Implementation-Version" value="${lwjgl.version}"/>
<attribute name="Implementation-Vendor" value="lwjgl.org"/>
<attribute name="Implementation-Vendor-Id" value="org.lwjgl"/>
<attribute name="Extension-Name" value="org.lwjgl"/>
<attribute name="Sealed" value="true"/>
<attribute name="Trusted-Library" value="true"/>
</manifest>
</jar>
<!-- sign 'em -->
<signjar jar="${lwjgl.temp}/webstart/${lwjgl.version}/lwjgl.jar" alias="${alias}" keystore="${keystore}" storepass="${password}"/>
<signjar jar="${lwjgl.temp}/webstart/${lwjgl.version}/lwjgl_util.jar" alias="${alias}" keystore="${keystore}" storepass="${password}"/>
<signjar jar="${lwjgl.temp}/webstart/${lwjgl.version}/jinput.jar" alias="${alias}" keystore="${keystore}" storepass="${password}"/>
<signjar jar="${lwjgl.temp}/webstart/${lwjgl.version}/native_solaris.jar" alias="${alias}" keystore="${keystore}" storepass="${password}"/>
<signjar jar="${lwjgl.temp}/webstart/${lwjgl.version}/native_linux.jar" alias="${alias}" keystore="${keystore}" storepass="${password}"/>
<signjar jar="${lwjgl.temp}/webstart/${lwjgl.version}/native_macosx.jar" alias="${alias}" keystore="${keystore}" storepass="${password}"/>
<signjar jar="${lwjgl.temp}/webstart/${lwjgl.version}/native_windows.jar" alias="${alias}" keystore="${keystore}" storepass="${password}"/>
<!-- copy over extension jnlp file -->
<copy todir="${lwjgl.temp}/webstart/${lwjgl.version}">
<fileset dir="${lwjgl.web}/webstart">
<include name="extension.jnlp"/>
</fileset>
<filterset>
<filter token="LWJGL_VERSION" value="${lwjgl.version}"/>
</filterset>
</copy>
<!-- nuke extracted dir -->
<delete dir="${lwjgl.temp}/webstart/temp"/>
</target>
</project>

View File

@ -0,0 +1,126 @@
<?xml version="1.0"?>
<project name="lwjgl native code, linux" basedir="../../bin/lwjgl" default="compile">
<property name="native" location="../../src/native"/>
<property name="libname32" value="liblwjgl.so"/>
<property name="libname64" value="liblwjgl64.so"/>
<property name="libs32" value="-L/usr/X11R6/lib -L/usr/X11/lib -lm -lX11 -lXext -lXcursor -lXrandr -lXxf86vm -lpthread -L${java.home}/lib/i386 -ljawt" />
<property name="libs64" value="-L/usr/X11R6/lib64 -L/usr/X11/lib64 -lm -lX11 -lXext -lXcursor -lXrandr -lXxf86vm -lpthread -L${java.home}/lib/amd64 -ljawt" />
<property name="cflags32" value="-O2 -Wall -c -fPIC -std=c99 -Wunused"/>
<target name="clean">
<delete>
<fileset dir="x32"/>
<fileset dir="x64"/>
<fileset dir="." includes="*.o"/>
<fileset dir="." includes="*.so"/>
</delete>
</target>
<target name="compile">
<exec executable="uname" outputproperty="hwplatform">
<arg value="-m"/>
</exec>
<condition property="cflags_pthread" value="-pthreads" else="-pthread">
<os name="SunOS" />
</condition>
<condition property="version_script_flags32" value="" else="-Wl,--version-script='${native}/linux/lwjgl.map'">
<os name="SunOS" />
</condition>
<condition property="version_script_flags64" value="-m64" else="-Wl,--version-script='${native}/linux/lwjgl.map'">
<and>
<os name="SunOS" />
</and>
</condition>
<condition property="cflags64" value="-O2 -m64 -Wall -c -fPIC -std=c99 -Wunused" else="-O2 -Wall -c -fPIC -std=c99 -Wunused">
<os name="SunOS" />
</condition>
<property name="linker_flags32" value="${version_script_flags32} -shared -O2 -Wall -o ${libname32} ${libs32}"/>
<property name="linker_flags64" value="${version_script_flags64} -shared -O2 -Wall -o ${libname64} ${libs64}"/>
<condition property="build.32bit.only">
<not>
<or>
<equals arg1="${hwplatform}" arg2="x86_64"/>
<equals arg1="${hwplatform}" arg2="i86pc"/>
</or>
</not>
</condition>
<!-- On linux, the 64 bit jre doesn't have the 32 bit libs -->
<condition property="build.64bit.only">
<and>
<os name="Linux"/>
<equals arg1="${hwplatform}" arg2="x86_64"/>
</and>
</condition>
<antcall target="compile32"/>
<antcall target="compile64"/>
</target>
<target name="compile32" unless="build.64bit.only">
<mkdir dir="x32"/>
<apply dir="x32" executable="gcc" skipemptyfilesets="true" failonerror="true">
<arg line="${cflags32} ${cflags_pthread}"/>
<arg value="-I${java.home}/include"/>
<arg value="-I${java.home}/include/linux"/>
<arg value="-I${java.home}/../include"/>
<arg value="-I${java.home}/../include/linux"/>
<arg value="-I${java.home}/../include/solaris"/>
<arg value="-I${native}/common"/>
<arg value="-I${native}/common/opengl"/>
<arg value="-I${native}/linux"/>
<arg value="-I${native}/linux/opengl"/>
<mapper type="glob" from="*.c" to="*.o"/>
<fileset dir="${native}/common" includes="*.c"/>
<fileset dir="${native}/common/opengl" includes="*.c"/>
<fileset dir="${native}/generated/openal" includes="*.c"/>
<fileset dir="${native}/generated/opencl" includes="*.c"/>
<fileset dir="${native}/generated/opengl" includes="*.c"/>
<fileset dir="${native}/linux" includes="*.c"/>
<fileset dir="${native}/linux/opengl" includes="*.c"/>
</apply>
<apply dir="." parallel="true" executable="gcc" failonerror="true">
<srcfile/>
<arg line="${linker_flags32}"/>
<fileset dir="x32" includes="*.o"/>
</apply>
<apply dir="." parallel="true" executable="strip" failonerror="true">
<fileset file="${libname32}"/>
</apply>
</target>
<target name="compile64" unless="build.32bit.only">
<mkdir dir="x64"/>
<apply dir="x64" executable="gcc" skipemptyfilesets="true" failonerror="true">
<arg line="${cflags64} ${cflags_pthread}"/>
<arg value="-I${java.home}/include"/>
<arg value="-I${java.home}/include/linux"/>
<arg value="-I${java.home}/../include"/>
<arg value="-I${java.home}/../include/linux"/>
<arg value="-I${java.home}/../include/solaris"/>
<arg value="-I${native}/common"/>
<arg value="-I${native}/common/opengl"/>
<arg value="-I${native}/linux"/>
<arg value="-I${native}/linux/opengl"/>
<mapper type="glob" from="*.c" to="*.o"/>
<fileset dir="${native}/common" includes="*.c"/>
<fileset dir="${native}/common/opengl" includes="*.c"/>
<fileset dir="${native}/generated/openal" includes="*.c"/>
<fileset dir="${native}/generated/opencl" includes="*.c"/>
<fileset dir="${native}/generated/opengl" includes="*.c"/>
<fileset dir="${native}/linux" includes="*.c"/>
<fileset dir="${native}/linux/opengl" includes="*.c"/>
</apply>
<apply dir="." parallel="true" executable="gcc" failonerror="true">
<srcfile/>
<arg line="${linker_flags64}"/>
<fileset dir="x64" includes="*.o"/>
</apply>
<apply dir="." parallel="true" executable="strip" failonerror="true">
<fileset file="${libname64}"/>
</apply>
</target>
</project>

View File

@ -0,0 +1,129 @@
<?xml version="1.0"?>
<project name="lwjgl native code, linux" basedir="../../bin/lwjgles" default="compile">
<property name="native" location="../../src/native"/>
<property name="libname32" value="liblwjgl.so"/>
<property name="libname64" value="liblwjgl64.so"/>
<property name="libs32" value="-L/home/spasi/lwjgl/libs/linux -lEGL -L/usr/X11R6/lib -L/usr/X11/lib -lm -lX11 -lXext -lXcursor -lXrandr -lpthread -L${java.home}/lib/i386 -ljawt" />
<property name="libs64" value="-L${lib_folder}/x64 -lEGL -L/usr/X11R6/lib64 -L/usr/X11/lib64 -lm -lX11 -lXext -lXcursor -lXrandr -lXxf86vm -lpthread -L${java.home}/lib/amd64 -ljawt" />
<property name="cflags32" value="-O2 -Wall -c -fPIC -std=c99 -Wunused"/>
<target name="clean">
<delete>
<fileset dir="x32"/>
<fileset dir="x64"/>
<fileset dir="." includes="*.o"/>
<fileset dir="." includes="*.so"/>
</delete>
</target>
<target name="compile">
<exec executable="uname" outputproperty="hwplatform">
<arg value="-m"/>
</exec>
<condition property="xf86vm_lib" value="-lXxf86vm" else="-Wl,-static,-lXxf86vm,-call_shared">
<os name="SunOS" />
</condition>
<condition property="cflags_pthread" value="-pthreads" else="-pthread">
<os name="SunOS" />
</condition>
<condition property="version_script_flags32" value="" else="-Wl,--version-script='${native}/linux/lwjgl.map'">
<os name="SunOS" />
</condition>
<condition property="version_script_flags64" value="-m64" else="-Wl,--version-script='${native}/linux/lwjgl.map'">
<and>
<os name="SunOS" />
</and>
</condition>
<condition property="cflags64" value="-O2 -m64 -Wall -c -fPIC -std=c99 -Wunused" else="-O2 -Wall -c -fPIC -std=c99 -Wunused">
<os name="SunOS" />
</condition>
<property name="linker_flags32" value="${version_script_flags32} -shared -O2 -Wall -o ${libname32} ${libs32} ${xf86vm_lib}"/>
<property name="linker_flags64" value="${version_script_flags64} -shared -O2 -Wall -o ${libname64} ${libs64} ${xf86vm_lib}"/>
<condition property="build.32bit.only">
<not>
<or>
<equals arg1="${hwplatform}" arg2="x86_64"/>
<equals arg1="${hwplatform}" arg2="i86pc"/>
</or>
</not>
</condition>
<!-- On linux, the 64 bit jre doesn't have the 32 bit libs -->
<condition property="build.64bit.only">
<and>
<os name="Linux"/>
<equals arg1="${hwplatform}" arg2="x86_64"/>
</and>
</condition>
<antcall target="compile32"/>
<antcall target="compile64"/>
</target>
<target name="compile32" unless="build.64bit.only">
<mkdir dir="x32"/>
<apply dir="x32" executable="gcc" skipemptyfilesets="true" failonerror="true">
<arg line="${cflags32} ${cflags_pthread}"/>
<arg value="-I${java.home}/include"/>
<arg value="-I${java.home}/include/linux"/>
<arg value="-I${java.home}/../include"/>
<arg value="-I${java.home}/../include/linux"/>
<arg value="-I${java.home}/../include/solaris"/>
<arg value="-I${native}/common"/>
<arg value="-I${native}/common/opengles"/>
<arg value="-I${native}/linux"/>
<arg value="-I${native}/linux/opengles"/>
<mapper type="glob" from="*.c" to="*.o"/>
<fileset dir="${native}/common" includes="*.c"/>
<fileset dir="${native}/common/opengles" includes="*.c"/>
<fileset dir="${native}/generated/openal" includes="*.c"/>
<fileset dir="${native}/generated/opencl" includes="*.c"/>
<fileset dir="${native}/generated/opengles" includes="*.c"/>
<fileset dir="${native}/linux" includes="*.c"/>
<fileset dir="${native}/linux/opengles" includes="*.c"/>
</apply>
<apply dir="." parallel="true" executable="gcc" failonerror="true">
<srcfile/>
<arg line="${linker_flags32}"/>
<fileset dir="x32" includes="*.o"/>
</apply>
<apply dir="." parallel="true" executable="strip" failonerror="true">
<fileset file="${libname32}"/>
</apply>
</target>
<target name="compile64" unless="build.32bit.only">
<mkdir dir="x64"/>
<apply dir="x64" executable="gcc" skipemptyfilesets="true" failonerror="true">
<arg line="${cflags64} ${cflags_pthread}"/>
<arg value="-I${java.home}/include"/>
<arg value="-I${java.home}/include/linux"/>
<arg value="-I${java.home}/../include"/>
<arg value="-I${java.home}/../include/linux"/>
<arg value="-I${java.home}/../include/solaris"/>
<arg value="-I${native}/common"/>
<arg value="-I${native}/common/opengles"/>
<arg value="-I${native}/linux"/>
<arg value="-I${native}/linux/opengles"/>
<mapper type="glob" from="*.c" to="*.o"/>
<fileset dir="${native}/common" includes="*.c"/>
<fileset dir="${native}/common/opengles" includes="*.c"/>
<fileset dir="${native}/generated/openal" includes="*.c"/>
<fileset dir="${native}/generated/opencl" includes="*.c"/>
<fileset dir="${native}/generated/opengles" includes="*.c"/>
<fileset dir="${native}/linux" includes="*.c"/>
<fileset dir="${native}/linux/opengles" includes="*.c"/>
</apply>
<apply dir="." parallel="true" executable="gcc" failonerror="true">
<srcfile/>
<arg line="${linker_flags64}"/>
<fileset dir="x64" includes="*.o"/>
</apply>
<apply dir="." parallel="true" executable="strip" failonerror="true">
<fileset file="${libname64}"/>
</apply>
</target>
</project>

View File

@ -0,0 +1,4 @@
#!/bin/sh
nm -g "$1"/*.o | grep "Java_" | cut -d ' ' -f3 | cut -c 1-
nm -g "$1"/*.o | grep "JNI_" | cut -d ' ' -f3 | cut -c 1-

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,68 @@
<?xml version="1.0"?>
<project name="lwjgl native code, native code" basedir="../../bin/lwjgl" default="compile">
<property name="native" location="../../src/native"/>
<property environment="env"/>
<property name="mingwprefix" location="x86_64-pc-mingw32-"/>
<property name="mingwhome" location="c:/MinGW64"/>
<property name="strip" location="${mingwhome}/${mingwprefix}strip"/>
<property name="gcc" location="${mingwhome}/${mingwprefix}gcc"/>
<property name="dlltool" location="${mingwhome}/${mingwprefix}dlltool"/>
<property name="dllname" value="lwjgl64.dll"/>
<target name="compile_dir">
<apply dir="." failonerror="true" executable="${gcc}" dest="." skipemptyfilesets="true">
<arg line="-c -Wall -O2 -std=gnu99 -D_JNI_IMPLEMENTATION_"/>
<arg value="-I${dxhome}/include"/>
<arg value="-I${alhome}/include"/>
<arg value="-I${jdkhome}/include"/>
<arg value="-I${jdkhome}/include/win32"/>
<arg value="-I${native}/common"/>
<arg value="-I${native}/windows"/>
<srcfile/>
<fileset dir="${native}/windows" includes="*.c"/>
<fileset dir="${native}/common" includes="*.c"/>
<fileset dir="${native}/generated/openal" includes="*.c"/>
<fileset dir="${native}/generated/opencl" includes="*.c"/>
<fileset dir="${native}/generated/opengl" includes="*.c"/>
<mapper type="glob" from="*.c" to="*.o"/>
</apply>
</target>
<target name="link">
<echo file="jawt.def">
EXPORTS
JAWT_GetAWT
</echo>
<exec dir="." executable="${dlltool}" failonerror="true">
<arg line="--def jawt.def --kill-at --dllname jawt.dll --output-lib libjawt.a"/>
</exec>
<apply dir="." parallel="true" executable="${gcc}" failonerror="true">
<arg value="-Wl,--kill-at"/>
<arg line="-shared -o ${dllname}"/>
<srcfile/>
<arg line="libjawt.a"/>
<arg value="-L${java.home}/../lib"/>
<arg value="-L${alhome}/libs"/>
<arg line="${libs}"/>
<fileset dir="." includes="*.o"/>
</apply>
</target>
<target name="clean">
<delete>
<fileset dir="." includes="*.o"/>
<fileset dir="." includes="*.dll"/>
</delete>
</target>
<target name="compile">
<property name="libs" value="-lkernel32 -lole32 -lopengl32 -lversion -luser32 -lgdi32 -ladvapi32 -lwinmm"/>
<antcall target="compile_dir"/>
<antcall target="link"/>
<apply dir="." executable="${strip}">
<fileset file="${dllname}"/>
</apply>
</target>
</project>

View File

@ -0,0 +1,66 @@
<?xml version="1.0"?>
<project name="lwjgl native code, native code" basedir="../../bin/lwjgl" default="compile">
<property name="native" location="../../src/native"/>
<property environment="env"/>
<property name="sdkhome" location="${env.MSSDK}"/>
<target name="compile_dir">
<apply dir="." failonerror="true" executable="cl" dest="." skipemptyfilesets="true" parallel="true">
<arg line="/c /W2 /EHsc /Ox /Gy /MT /MP /nologo"/>
<arg value="/I${sdkhome}\include"/>
<arg value="/I${java.home}\..\include"/>
<arg value="/I${java.home}\..\include\win32"/>
<arg value="/I${native}\common"/>
<arg value="/I${native}\common\opengl"/>
<arg value="/I${native}\windows"/>
<arg value="/I${native}\windows\opengl"/>
<srcfile/>
<fileset dir="${native}/common" includes="*.c"/>
<fileset dir="${native}/common/opengl" includes="*.c"/>
<fileset dir="${native}/generated/openal" includes="*.c"/>
<fileset dir="${native}/generated/opencl" includes="*.c"/>
<fileset dir="${native}/generated/opengl" includes="*.c"/>
<fileset dir="${native}/windows" includes="*.c"/>
<fileset dir="${native}/windows/opengl" includes="*.c"/>
<mapper type="glob" from="*.c" to="*.obj"/>
</apply>
</target>
<target name="link">
<apply dir="." parallel="true" executable="cl" failonerror="true">
<arg line="/LD /nologo"/>
<srcfile/>
<arg line="/Fe${dllname} /link"/>
<arg value="/LIBPATH:${java.home}\..\lib"/>
<arg value="/LIBPATH:${sdkhomelib}"/>
<arg value="/OPT:REF"/>
<arg value="/OPT:ICF"/>
<arg line="/DLL /DELAYLOAD:jawt.dll ${libs}"/>
<fileset dir="." includes="*.obj"/>
</apply>
</target>
<target name="clean">
<delete>
<fileset dir="." includes="*.obj"/>
<fileset dir="." includes="*.dll"/>
<fileset dir="." includes="*.exp"/>
<fileset dir="." includes="*.lib"/>
</delete>
</target>
<target name="compile">
<condition property="sdkhomelib" value="${sdkhome}\lib" else="${sdkhome}\lib\x64">
<equals arg1="${os.arch}" arg2="x86"/>
</condition>
<condition property="dllname" value="lwjgl.dll" else="lwjgl64.dll">
<equals arg1="${os.arch}" arg2="x86"/>
</condition>
<echo message="${sdkhomelib}"/>
<property name="libs" value="Kernel32.lib ole32.lib OpenGL32.Lib Version.lib user32.lib Gdi32.lib Advapi32.lib jawt.lib delayimp.lib winmm.lib Comctl32.lib"/>
<antcall target="compile_dir"/>
<antcall target="link"/>
</target>
</project>

View File

@ -0,0 +1,67 @@
<?xml version="1.0"?>
<project name="lwjgl native code, native code" basedir="../../bin/lwjgles" default="compile">
<property name="native" location="../../src/native"/>
<property environment="env"/>
<property name="sdkhome" location="${env.MSSDK}"/>
<target name="compile_dir">
<apply dir="." failonerror="true" executable="cl" dest="." skipemptyfilesets="true" parallel="true">
<arg line="/c /W2 /EHsc /Ox /Gy /MT /MP /nologo"/>
<arg value="/I${sdkhome}\include"/>
<arg value="/I${java.home}\..\include"/>
<arg value="/I${java.home}\..\include\win32"/>
<arg value="/I${native}\common"/>
<arg value="/I${native}\common\opengles"/>
<arg value="/I${native}\windows"/>
<arg value="/I${native}\windows\opengles"/>
<srcfile/>
<fileset dir="${native}/common" includes="*.c"/>
<fileset dir="${native}/common/opengles" includes="*.c"/>
<fileset dir="${native}/generated/openal" includes="*.c"/>
<fileset dir="${native}/generated/opencl" includes="*.c"/>
<fileset dir="${native}/generated/opengles" includes="*.c"/>
<fileset dir="${native}/windows" includes="*.c"/>
<fileset dir="${native}/windows/opengles" includes="*.c"/>
<mapper type="glob" from="*.c" to="*.obj"/>
</apply>
</target>
<target name="link">
<apply dir="." parallel="true" executable="cl" failonerror="true">
<arg line="/LD /nologo"/>
<srcfile/>
<arg line="/Fe${dllname} /link"/>
<arg value="/LIBPATH:${java.home}\..\lib"/>
<arg value="/LIBPATH:${sdkhomelib}"/>
<arg value="/LIBPATH:..\..\libs\windows"/>
<arg value="/OPT:REF"/>
<arg value="/OPT:ICF"/>
<arg line="/DLL /DELAYLOAD:jawt.dll ${libs}"/>
<fileset dir="." includes="*.obj"/>
</apply>
</target>
<target name="clean">
<delete>
<fileset dir="." includes="*.obj"/>
<fileset dir="." includes="*.dll"/>
<fileset dir="." includes="*.exp"/>
<fileset dir="." includes="*.lib"/>
</delete>
</target>
<target name="compile">
<condition property="sdkhomelib" value="${sdkhome}\lib" else="${sdkhome}\lib\x64">
<equals arg1="${os.arch}" arg2="x86"/>
</condition>
<condition property="dllname" value="lwjgl.dll" else="lwjgl64.dll">
<equals arg1="${os.arch}" arg2="x86"/>
</condition>
<echo message="${sdkhomelib}"/>
<property name="libs" value="Kernel32.lib ole32.lib libEGL.lib Version.lib user32.lib Gdi32.lib Advapi32.lib jawt.lib delayimp.lib winmm.lib Comctl32.lib"/>
<antcall target="compile_dir"/>
<antcall target="link"/>
</target>
</project>

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,198 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
<!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
]>
<svg version="1.1" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="543.281" height="196.23" viewBox="0 0 543.281 196.23"
overflow="visible" enable-background="new 0 0 543.281 196.23" xml:space="preserve">
<g id="Layer_6">
</g>
<g id="Layer_2">
<path display="none" opacity="0.61" fill="#DE923A" d="M536.093,118.816c-17.196,51.267-59.783,83.217-95.122,71.367
c-35.338-11.853-50.048-63.028-32.853-114.288c17.195-51.269,59.782-83.217,95.118-71.362
C538.579,16.382,553.287,67.556,536.093,118.816z"/>
<path fill="#FFFFFF" d="M161.34,109.049c-16.054,47.862-55.868,77.672-88.928,66.585S25.565,116.751,41.617,68.897
C57.671,21.033,97.485-8.775,130.542,2.316C163.605,13.4,177.392,61.194,161.34,109.049z"/>
<path fill="#0A90CB" d="M157.985,107.256c-15.051,44.873-52.326,72.838-83.257,62.466C43.797,159.349,30.923,114.556,45.973,69.69
C61.024,24.816,98.298-3.148,129.227,7.229C160.161,17.599,173.034,62.391,157.985,107.256z"/>
<path fill="#FFFFFF" d="M180.458,94.522l-48-11.5c-2.02-0.532-5.155,0.337-6.955,1.197l10.151-37.832
c0.936-3.473,0.061-7.84-1.75-10.831c-1.811-2.991-7.549-10.722-9.737-13.622s-3.939-3.61-6.528-3.738l-36.7-2.094
c-4.949-0.335-10.023,3.617-11.332,8.826L59.458,65.647L27.873,58.02c-3.792-1.016-7.688,1.436-8.702,5.473L8.962,104.105
c-1.016,4.038,1.007,8.071,4.622,9.792l142.5,76.584c4.75,2.5,9.169,1.462,10.667-4.501l19.305-77.485
C187.554,102.535,185.318,95.803,180.458,94.522z"/>
<g>
<path d="M103.521,133.708c-1.006,4.003-4.428,6.12-7.644,4.728l-32.025-13.862c-3.216-1.393-5.109-5.359-4.229-8.861l8.855-35.227
c0.88-3.501,4.303-5.621,7.646-4.732l33.288,8.838c3.342,0.888,5.236,4.853,4.229,8.854L103.521,133.708z"/>
<g>
<path d="M163.445,159.116c-1.16,4.615-5.048,7.144-8.683,5.648l-35.622-16.062c-3.635-1.495-5.744-6.04-4.71-10.156
l10.566-42.111c1.034-4.113,4.922-6.645,8.685-5.653l37.468,9.87c3.762,0.99,5.873,5.535,4.713,10.149L163.445,159.116z"/>
<path d="M50.911,111.844c-0.853,3.394-3.563,5.166-6.052,3.96L19.9,104.265c-2.49-1.208-3.918-4.532-3.19-7.427l7.481-29.591
c0.728-2.894,3.438-4.67,6.054-3.967l26.056,7.002c2.616,0.702,4.045,4.024,3.192,7.418L50.911,111.844z"/>
<path d="M108.224,68.855c-0.968,3.849-4.276,6.375-7.39,5.639L69.829,67.17c-3.113-0.736-4.955-4.045-4.113-7.393L74.181,26.1
c0.842-3.348,4.151-5.875,7.391-5.644l32.269,2.3c3.24,0.23,5.082,3.538,4.116,7.386L108.224,68.855z"/>
</g>
</g>
<line display="none" fill="#0092D2" x1="0" y1="108.564" x2="194.333" y2="196.23"/>
<line display="none" fill="none" x1="214" y1="119.23" x2="21.667" y2="68.563"/>
</g>
<g id="Layer_4">
<polygon points="227.728,31.353 243.953,31.353 216.963,112.878 244.745,112.878 241.184,122.614 197.334,122.614 "/>
<polygon points="255.668,31.432 250.207,122.614 265.404,122.614 280.838,98.157 282.342,122.614 299.281,122.614 340.123,31.432
322.79,31.59 294.373,95.188 293.186,76.706 278.226,76.904 267.185,94.357 270.984,31.432 "/>
<path fill="#0B0B0B" d="M323.62,88.421h16.978c0,0-4.097,12.703-5.462,17.096c-1.365,4.394,1.028,7.599,3.72,7.599
c2.692,0,6.253-1.107,8.786-7.599c2.533-6.49,24.458-74.165,24.458-74.165l18.006,0.08c0,0-21.938,66.379-24.773,74.243
c-5.225,14.484-13.852,17.889-30.117,17.889c-12.822,0-20.026-10.058-16.621-20.223C321.166,95.664,323.62,88.421,323.62,88.421z"
/>
<path fill="#0B0B0B" d="M444.126,64.358c0,0,2.643-7.251,4.274-13.455c2.612-9.934-0.95-20.263-19.313-20.263
c-20.658,0-32.452,11.833-42.9,45.116c-11.267,35.894-2.968,47.57,11.16,47.57c8.074,0,11.636-2.612,11.636-2.612l-0.554,2.059
h16.463l13.772-41.951h-24.299l-3.603,9.418l7.639-0.157c0,0-1.543,6.016-2.73,9.419s-4.314,13.297-12.704,13.297
c-7.123,0-4.749-17.255,1.267-36.845c8.331-27.134,14.996-35.262,21.964-35.262c6.49,0,5.818,4.907,4.631,9.023
c-1.617,5.603-4.749,14.563-4.749,14.563L444.126,64.358z"/>
<polygon fill="#0B0B0B" points="483.069,31.432 465.498,31.59 435.459,122.733 487.343,122.614 490.667,112.878 457.662,112.878
"/>
</g>
<g id="Layer_3">
<g>
<path d="M192.785,136.61h3.132l-3.727,11.92h5.634l-0.859,2.74h-8.767L192.785,136.61z"/>
<path d="M198.663,151.27l3.33-10.637h3.111l-3.308,10.637H198.663z M204.099,139.242c-0.914,0-1.508-0.652-1.388-1.632
c0.139-1.131,1.125-1.892,2.147-1.892c0.979,0,1.597,0.631,1.475,1.631c-0.147,1.196-1.146,1.893-2.212,1.893H204.099z"/>
<path d="M204.942,152.75c0.544,0.348,1.798,0.587,2.712,0.587c1.566,0,2.805-0.696,3.523-2.828l0.286-0.913h-0.043
c-0.96,1.088-1.979,1.588-3.24,1.588c-2.11,0-3.183-1.719-2.948-3.807c0.408-3.502,3.359-6.982,7.992-6.982
c1.501,0,2.771,0.283,3.847,0.74l-2.687,8.766c-0.61,1.957-1.433,3.697-2.82,4.72c-1.265,0.914-2.845,1.196-4.259,1.196
c-1.436,0-2.708-0.261-3.397-0.674L204.942,152.75z M213.45,142.983c-0.226-0.108-0.672-0.196-1.107-0.196
c-1.893,0-3.5,2.11-3.746,4.111c-0.134,1.088,0.249,1.871,1.206,1.871c1.022,0,2.187-1.153,2.754-2.937L213.45,142.983z"/>
<path d="M216.565,151.27l4.833-15.443h3.132l-1.955,6.178h0.043c1.012-0.979,2.199-1.61,3.591-1.61
c1.653,0,2.547,1.045,2.323,2.872c-0.062,0.5-0.25,1.326-0.431,1.914l-1.901,6.09h-3.132l1.825-5.829
c0.138-0.413,0.237-0.87,0.291-1.306c0.088-0.718-0.133-1.218-0.917-1.218c-1.109,0-2.384,1.349-3.038,3.48l-1.534,4.872H216.565z
"/>
<path d="M236.475,137.762l-0.896,2.871h2.284l-0.772,2.393h-2.262l-1.159,3.59c-0.141,0.435-0.294,0.979-0.34,1.348
c-0.064,0.522,0.108,0.893,0.804,0.893c0.261,0,0.587,0,0.854-0.044l-0.65,2.458c-0.432,0.152-1.226,0.239-1.878,0.239
c-1.893,0-2.667-0.957-2.501-2.306c0.069-0.565,0.207-1.152,0.479-1.958l1.323-4.22h-1.349l0.729-2.393h1.37l0.638-2.001
L236.475,137.762z"/>
<path d="M241.952,140.633l-0.534,4.524c-0.125,1.196-0.292,2.197-0.501,3.372h0.044c0.508-1.132,1.118-2.197,1.684-3.263
l2.679-4.634h2.545l-0.289,4.481c-0.09,1.262-0.172,2.283-0.376,3.415h0.065c0.493-1.175,0.99-2.219,1.578-3.459l2.373-4.438
h3.154l-6.484,10.637h-2.937l0.149-3.697c0.049-1.109,0.175-2.132,0.33-3.394h-0.065c-0.75,1.501-1.085,2.284-1.66,3.241
l-2.278,3.85h-2.937l0.306-10.637H241.952z"/>
<path d="M261.516,150.661c-1.317,0.631-2.889,0.849-4.063,0.849c-3.045,0-4.4-1.719-4.059-4.503
c0.398-3.24,3.162-6.612,7.012-6.612c2.154,0,3.549,1.219,3.306,3.198c-0.332,2.696-3.084,3.676-7.334,3.566
c-0.038,0.305,0.013,0.783,0.193,1.088c0.346,0.544,1.029,0.826,1.943,0.826c1.153,0,2.164-0.261,3.063-0.674L261.516,150.661z
M260.777,143.57c0.064-0.521-0.326-0.892-1.043-0.892c-1.458,0-2.434,1.218-2.771,2.197c2.434,0.021,3.692-0.305,3.812-1.283
L260.777,143.57z"/>
<path d="M263.442,151.27l3.329-10.637h3.111l-3.308,10.637H263.442z M268.879,139.242c-0.914,0-1.508-0.652-1.388-1.632
c0.139-1.131,1.124-1.892,2.146-1.892c0.979,0,1.598,0.631,1.475,1.631c-0.147,1.196-1.146,1.893-2.212,1.893H268.879z"/>
<path d="M269.721,152.75c0.545,0.348,1.799,0.587,2.712,0.587c1.566,0,2.805-0.696,3.523-2.828l0.286-0.913H276.2
c-0.96,1.088-1.979,1.588-3.241,1.588c-2.11,0-3.182-1.719-2.948-3.807c0.409-3.502,3.359-6.982,7.993-6.982
c1.501,0,2.771,0.283,3.846,0.74l-2.686,8.766c-0.61,1.957-1.434,3.697-2.82,4.72c-1.266,0.914-2.845,1.196-4.259,1.196
c-1.436,0-2.709-0.261-3.397-0.674L269.721,152.75z M278.23,142.983c-0.226-0.108-0.672-0.196-1.107-0.196
c-1.892,0-3.5,2.11-3.746,4.111c-0.133,1.088,0.249,1.871,1.206,1.871c1.022,0,2.187-1.153,2.754-2.937L278.23,142.983z"/>
<path d="M281.345,151.27l4.833-15.443h3.133l-1.955,6.178h0.043c1.013-0.979,2.199-1.61,3.592-1.61
c1.653,0,2.547,1.045,2.323,2.872c-0.062,0.5-0.25,1.326-0.432,1.914l-1.9,6.09h-3.133l1.825-5.829
c0.138-0.413,0.237-0.87,0.291-1.306c0.088-0.718-0.133-1.218-0.916-1.218c-1.109,0-2.385,1.349-3.038,3.48l-1.533,4.872H281.345z
"/>
<path d="M301.254,137.762l-0.896,2.871h2.284l-0.772,2.393h-2.262l-1.159,3.59c-0.141,0.435-0.294,0.979-0.34,1.348
c-0.063,0.522,0.108,0.893,0.805,0.893c0.261,0,0.587,0,0.854-0.044l-0.65,2.458c-0.432,0.152-1.226,0.239-1.878,0.239
c-1.893,0-2.667-0.957-2.501-2.306c0.069-0.565,0.206-1.152,0.479-1.958l1.323-4.22h-1.349l0.729-2.393h1.37l0.638-2.001
L301.254,137.762z"/>
<path d="M312.664,136.61h3.133l-3.038,9.679c-1.175,3.72-2.946,5.221-6.275,5.221c-0.913,0-1.917-0.152-2.371-0.348l0.938-2.676
c0.438,0.152,1.012,0.261,1.708,0.261c1.37,0,2.323-0.674,3.004-2.849L312.664,136.61z"/>
<path d="M320.891,151.27c0.097-0.609,0.253-1.349,0.39-2.11h-0.044c-1.217,1.763-2.659,2.35-3.899,2.35
c-1.914,0-3.037-1.479-2.765-3.697c0.44-3.589,3.304-7.418,8.524-7.418c1.283,0,2.603,0.239,3.438,0.522l-1.75,5.568
c-0.43,1.37-0.903,3.458-1.023,4.785H320.891z M322.773,142.852c-0.233-0.043-0.489-0.087-0.815-0.087
c-2.023,0-3.807,2.479-4.05,4.459c-0.129,1.044,0.196,1.762,1.066,1.762c0.936,0,2.263-1.065,3.063-3.676L322.773,142.852z"/>
<path d="M331.268,140.633l-0.071,4.655c-0.052,1.305-0.042,2.109-0.072,2.893h0.064c0.377-0.761,0.802-1.565,1.55-2.871
l2.706-4.677h3.502l-7.224,10.637h-3.197l-0.478-10.637H331.268z"/>
<path d="M343.84,151.27c0.097-0.609,0.253-1.349,0.39-2.11h-0.044c-1.217,1.763-2.659,2.35-3.899,2.35
c-1.914,0-3.038-1.479-2.766-3.697c0.441-3.589,3.305-7.418,8.525-7.418c1.283,0,2.603,0.239,3.438,0.522l-1.749,5.568
c-0.43,1.37-0.904,3.458-1.023,4.785H343.84z M345.722,142.852c-0.233-0.043-0.489-0.087-0.815-0.087
c-2.023,0-3.807,2.479-4.05,4.459c-0.129,1.044,0.196,1.762,1.066,1.762c0.936,0,2.263-1.065,3.063-3.676L345.722,142.852z"/>
<path d="M365.175,150.596c-1.155,0.369-2.995,0.826-4.844,0.826c-2.001,0-3.612-0.522-4.675-1.609
c-1.05-1.022-1.523-2.654-1.294-4.524c0.337-2.741,1.737-5.111,3.804-6.699c1.821-1.37,4.199-2.132,6.744-2.132
c1.893,0,3.261,0.37,3.792,0.652l-1.262,2.654c-0.615-0.305-1.73-0.609-3.036-0.609c-1.457,0-2.791,0.413-3.863,1.175
c-1.407,1-2.469,2.74-2.715,4.741c-0.302,2.458,1.004,3.698,3.31,3.698c0.739,0,1.253-0.109,1.642-0.262l0.967-3.088h-2.284
l0.808-2.502h5.329L365.175,150.596z"/>
<path d="M374.62,151.27c0.097-0.609,0.253-1.349,0.39-2.11h-0.043c-1.217,1.763-2.66,2.35-3.899,2.35
c-1.915,0-3.038-1.479-2.766-3.697c0.44-3.589,3.304-7.418,8.524-7.418c1.283,0,2.603,0.239,3.438,0.522l-1.75,5.568
c-0.43,1.37-0.903,3.458-1.022,4.785H374.62z M376.502,142.852c-0.234-0.043-0.49-0.087-0.816-0.087
c-2.022,0-3.807,2.479-4.05,4.459c-0.128,1.044,0.197,1.762,1.067,1.762c0.936,0,2.263-1.065,3.062-3.676L376.502,142.852z"/>
<path d="M379.645,151.27l2.208-7.178c0.427-1.349,0.721-2.502,0.969-3.459h2.697l-0.409,1.74h0.043
c1.147-1.37,2.506-1.979,3.876-1.979c1.697,0,2.303,1.088,2.275,2.023c1.125-1.37,2.532-2.023,3.925-2.023
c1.631,0,2.457,1.066,2.235,2.872c-0.053,0.435-0.244,1.283-0.398,1.826l-1.911,6.178h-3.046l1.779-5.808
c0.138-0.413,0.26-0.87,0.311-1.283c0.091-0.739-0.172-1.262-0.89-1.262c-1.044,0-2.26,1.393-2.938,3.546l-1.481,4.807h-3.024
l1.828-5.851c0.116-0.414,0.232-0.827,0.277-1.196c0.091-0.74-0.079-1.306-0.84-1.306c-1.066,0-2.357,1.479-2.983,3.567
l-1.479,4.785H379.645z"/>
<path d="M406.693,150.661c-1.317,0.631-2.889,0.849-4.063,0.849c-3.045,0-4.4-1.719-4.059-4.503
c0.398-3.24,3.162-6.612,7.012-6.612c2.154,0,3.549,1.219,3.306,3.198c-0.331,2.696-3.083,3.676-7.334,3.566
c-0.037,0.305,0.013,0.783,0.193,1.088c0.346,0.544,1.029,0.826,1.943,0.826c1.152,0,2.163-0.261,3.063-0.674L406.693,150.661z
M405.955,143.57c0.063-0.521-0.326-0.892-1.044-0.892c-1.457,0-2.434,1.218-2.771,2.197c2.434,0.021,3.692-0.305,3.813-1.283
L405.955,143.57z"/>
<path d="M417.337,136.61h3.133l-3.727,11.92h5.634l-0.858,2.74h-8.767L417.337,136.61z"/>
<path d="M423.215,151.27l3.329-10.637h3.111l-3.308,10.637H423.215z M428.652,139.242c-0.914,0-1.508-0.652-1.388-1.632
c0.139-1.131,1.124-1.892,2.146-1.892c0.979,0,1.598,0.631,1.475,1.631c-0.146,1.196-1.146,1.893-2.212,1.893H428.652z"/>
<path d="M436.924,135.827l-2.01,6.091h0.043c0.898-0.936,2.167-1.523,3.473-1.523c2.219,0,2.995,1.827,2.763,3.72
c-0.423,3.437-3.171,7.396-7.957,7.396c-2.523,0-3.651-1.088-3.419-2.979c0.08-0.653,0.27-1.306,0.478-1.937l3.476-10.767H436.924
z M433.38,146.79c-0.107,0.348-0.221,0.739-0.253,1.174c-0.071,0.762,0.313,1.175,1.053,1.175c1.827,0,3.42-2.522,3.647-4.372
c0.128-1.044-0.211-1.827-1.168-1.827c-1.131,0-2.38,1.132-2.977,2.98L433.38,146.79z"/>
<path d="M441.183,151.27l1.996-6.329c0.48-1.61,0.852-3.394,1.072-4.308h2.698c-0.132,0.718-0.285,1.436-0.466,2.197h0.087
c0.916-1.436,2.213-2.437,3.671-2.437c0.218,0,0.41,0.022,0.585,0.022l-0.986,3.066c-0.128-0.021-0.302-0.021-0.476-0.021
c-1.979,0-3.153,1.762-3.801,3.85l-1.227,3.959H441.183z"/>
<path d="M456.084,151.27c0.097-0.609,0.253-1.349,0.39-2.11h-0.043c-1.218,1.763-2.66,2.35-3.9,2.35
c-1.914,0-3.037-1.479-2.765-3.697c0.44-3.589,3.304-7.418,8.524-7.418c1.283,0,2.603,0.239,3.438,0.522l-1.75,5.568
c-0.43,1.37-0.903,3.458-1.023,4.785H456.084z M457.966,142.852c-0.233-0.043-0.489-0.087-0.815-0.087
c-2.023,0-3.807,2.479-4.05,4.459c-0.128,1.044,0.196,1.762,1.066,1.762c0.936,0,2.264-1.065,3.063-3.676L457.966,142.852z"/>
<path d="M461.087,151.27l1.995-6.329c0.48-1.61,0.853-3.394,1.073-4.308h2.697c-0.132,0.718-0.285,1.436-0.466,2.197h0.087
c0.916-1.436,2.214-2.437,3.672-2.437c0.217,0,0.41,0.022,0.584,0.022l-0.985,3.066c-0.128-0.021-0.302-0.021-0.476-0.021
c-1.98,0-3.153,1.762-3.802,3.85l-1.226,3.959H461.087z"/>
<path d="M474.815,140.633l0.083,4.634c0.017,1.109,0.031,1.87,0.035,2.545h0.044c0.319-0.653,0.645-1.349,1.242-2.502l2.511-4.677
h3.307l-4.744,7.635c-1.762,2.828-3.261,4.764-4.838,6.091c-1.385,1.175-2.928,1.696-3.637,1.805l-0.368-2.675
c0.52-0.152,1.247-0.413,1.91-0.849c0.779-0.5,1.466-1.131,1.967-1.849c0.106-0.152,0.122-0.283,0.105-0.5l-0.902-9.658H474.815z"
/>
</g>
<g display="none">
<path display="inline" d="M261.5,171.218l11.574-34.969h14.483c2.508,0,4.354,0.29,5.537,0.871
c1.183,0.581,2.099,1.575,2.746,2.982s0.863,2.986,0.648,4.735c-0.178,1.447-0.65,2.92-1.418,4.414
c-0.768,1.496-1.656,2.729-2.667,3.699c-1.011,0.97-2.004,1.701-2.979,2.194s-2,0.859-3.069,1.098
c-2.29,0.524-4.57,0.787-6.843,0.787h-8.687l-4.696,14.188H261.5z M272.139,153.062h7.648c2.968,0,5.186-0.321,6.653-0.966
c1.468-0.644,2.702-1.626,3.701-2.947c0.999-1.32,1.59-2.721,1.771-4.201c0.141-1.145,0.035-2.08-0.317-2.805
c-0.354-0.724-0.911-1.257-1.673-1.6c-0.763-0.342-2.287-0.513-4.574-0.513h-8.896L272.139,153.062z"/>
<path display="inline" d="M295.298,161.598c0.607-4.943,2.554-9.037,5.84-12.28c2.711-2.671,5.999-4.006,9.865-4.006
c3.03,0,5.354,0.954,6.975,2.862c1.62,1.907,2.23,4.482,1.833,7.725c-0.357,2.91-1.273,5.616-2.749,8.12s-3.372,4.424-5.689,5.759
c-2.318,1.336-4.669,2.003-7.052,2.003c-1.957,0-3.685-0.421-5.183-1.264s-2.575-2.035-3.229-3.577
C295.253,165.398,295.05,163.618,295.298,161.598z M299.632,161.168c-0.293,2.383,0.053,4.19,1.037,5.422s2.352,1.847,4.103,1.847
c0.915,0,1.845-0.187,2.789-0.56s1.85-0.941,2.717-1.705c0.866-0.762,1.632-1.632,2.295-2.609
c0.664-0.977,1.231-2.029,1.701-3.158c0.682-1.572,1.112-3.082,1.29-4.527c0.28-2.288-0.073-4.063-1.062-5.326
c-0.988-1.264-2.35-1.896-4.084-1.896c-1.341,0-2.603,0.321-3.785,0.966c-1.184,0.643-2.297,1.584-3.339,2.824
c-1.044,1.238-1.875,2.681-2.495,4.325S299.791,159.881,299.632,161.168z"/>
<path display="inline" d="M325.079,171.218l0.487-25.344h4.125l-0.293,11.395l-0.315,6.391c-0.04,0.478-0.108,1.435-0.207,2.871
c0.68-1.612,1.239-2.853,1.68-3.718s1.123-2.101,2.048-3.706l7.588-13.232h4.656l-0.74,12.681c-0.115,1.925-0.349,4.489-0.7,7.694
c1.066-2.124,2.718-5.082,4.953-8.872l6.815-11.503h4.313l-15.44,25.344h-4.438l0.9-14.858c0.043-0.922,0.209-2.719,0.498-5.392
c-0.865,1.694-1.855,3.528-2.971,5.505l-8.459,14.745H325.079z"/>
<path display="inline" d="M374.843,162.625l4.112,0.438c-0.855,2.075-2.475,4.047-4.858,5.915
c-2.385,1.869-5.069,2.804-8.053,2.804c-1.863,0-3.52-0.434-4.968-1.3c-1.449-0.865-2.479-2.126-3.088-3.779
c-0.61-1.653-0.785-3.537-0.526-5.651c0.34-2.767,1.305-5.448,2.895-8.048c1.591-2.6,3.474-4.531,5.65-5.795
c2.176-1.264,4.44-1.896,6.793-1.896c3,0,5.28,0.938,6.842,2.815c1.563,1.876,2.145,4.436,1.746,7.68
c-0.152,1.241-0.42,2.514-0.801,3.817h-18.512c-0.123,0.493-0.209,0.938-0.258,1.335c-0.291,2.366,0.027,4.173,0.955,5.42
s2.173,1.87,3.735,1.87c1.467,0,2.97-0.482,4.509-1.448C372.555,165.836,373.832,164.444,374.843,162.625z M363.165,156.343
h14.103c0.07-0.446,0.118-0.767,0.142-0.958c0.267-2.171-0.065-3.836-0.996-4.993s-2.24-1.736-3.928-1.736
c-1.83,0-3.576,0.639-5.239,1.916C365.582,151.849,364.221,153.773,363.165,156.343z"/>
<path display="inline" d="M382.333,171.218l8.362-25.344h3.814l-1.712,5.185c1.541-1.955,2.987-3.402,4.342-4.34
c1.354-0.938,2.677-1.407,3.971-1.407c0.853,0,1.863,0.313,3.033,0.938l-2.242,4c-0.676-0.542-1.455-0.813-2.338-0.813
c-1.499,0-3.144,0.845-4.934,2.532c-1.789,1.688-3.407,4.721-4.853,9.098l-3.374,10.151H382.333z"/>
<path display="inline" d="M417.95,162.625l4.111,0.438c-0.854,2.075-2.475,4.047-4.858,5.915
c-2.385,1.869-5.069,2.804-8.053,2.804c-1.863,0-3.52-0.434-4.968-1.3c-1.448-0.865-2.478-2.126-3.088-3.779
s-0.785-3.537-0.525-5.651c0.34-2.767,1.304-5.448,2.895-8.048c1.59-2.6,3.474-4.531,5.649-5.795s4.44-1.896,6.794-1.896
c2.999,0,5.28,0.938,6.842,2.815c1.562,1.876,2.144,4.436,1.745,7.68c-0.152,1.241-0.419,2.514-0.801,3.817h-18.512
c-0.123,0.493-0.209,0.938-0.258,1.335c-0.29,2.366,0.027,4.173,0.956,5.42c0.928,1.247,2.173,1.87,3.734,1.87
c1.468,0,2.971-0.482,4.509-1.448C415.661,165.836,416.937,164.444,417.95,162.625z M406.27,156.343h14.104
c0.07-0.446,0.117-0.767,0.141-0.958c0.267-2.171-0.065-3.836-0.996-4.993s-2.24-1.736-3.928-1.736
c-1.83,0-3.576,0.639-5.239,1.916C408.687,151.849,407.327,153.773,406.27,156.343z"/>
<path display="inline" d="M442.803,167.545c-2.794,2.824-5.524,4.235-8.192,4.235c-2.384,0-4.261-0.886-5.629-2.659
c-1.369-1.771-1.847-4.344-1.433-7.714c0.379-3.084,1.352-5.901,2.92-8.453s3.374-4.463,5.417-5.735
c2.042-1.271,4.011-1.907,5.905-1.907c3.126,0,5.299,1.521,6.521,4.563l4.514-13.625h4.25l-11.544,34.969h-3.938L442.803,167.545z
M431.899,160.594c-0.217,1.763-0.213,3.152,0.01,4.168c0.224,1.018,0.713,1.863,1.468,2.537c0.755,0.676,1.718,1.013,2.889,1.013
c1.944,0,3.832-1.016,5.663-3.047c2.45-2.697,3.919-6.029,4.406-9.997c0.246-2.004-0.083-3.57-0.988-4.699
s-2.148-1.694-3.729-1.694c-1.028,0-1.993,0.23-2.896,0.69c-0.902,0.461-1.837,1.243-2.803,2.347
c-0.966,1.104-1.838,2.505-2.615,4.204C432.525,157.815,432.057,159.308,431.899,160.594z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -0,0 +1,141 @@
/* XPM */
static char * lwjgl_logo_2a_xpm[] = {
"16 16 122 2",
" c #000000",
". c #010101",
"+ c #020202",
"@ c #030303",
"# c #0A0A0A",
"$ c #0C0C0C",
"% c #0E0E0E",
"& c #171717",
"* c #1B1B1B",
"= c #1D1D1D",
"- c #1F1F1F",
"; c #222222",
"> c #232323",
", c #2B2B2B",
"' c #2D2D2D",
") c #333333",
"! c #3D3D3D",
"~ c #404040",
"{ c #434343",
"] c #4A4A4A",
"^ c #4F4F4F",
"/ c #525252",
"( c #565656",
"_ c #585858",
": c #595959",
"< c #5C5C5C",
"[ c #5E5E5E",
"} c #5F5F5F",
"| c #666666",
"1 c #686868",
"2 c #6C6C6C",
"3 c #6D6D6D",
"4 c #397CB5",
"5 c #3A7DB5",
"6 c #3D7FB6",
"7 c #3E80B6",
"8 c #747474",
"9 c #787878",
"0 c #4886BA",
"a c #4C89BC",
"b c #4D89BC",
"c c #508BBD",
"d c #508CBD",
"e c #76828D",
"f c #548EBF",
"g c #5690C0",
"h c #848484",
"i c #5B92C1",
"j c #7D8D9B",
"k c #6096C3",
"l c #8C8C8C",
"m c #8D8F91",
"n c #669AC5",
"o c #919191",
"p c #6D9EC8",
"q c #8499AA",
"r c #959595",
"s c #71A1CA",
"t c #74A4CB",
"u c #9B9B9B",
"v c #77A5CC",
"w c #9C9EA0",
"x c #7CA8CE",
"y c #7EA9CE",
"z c #A1A1A1",
"A c #81ABCE",
"B c #82ACD0",
"C c #84ADD0",
"D c #A5A5A5",
"E c #A6A6A7",
"F c #86AFD2",
"G c #87B0D2",
"H c #A8A8A8",
"I c #8CB3D4",
"J c #8DB4D4",
"K c #91B6D5",
"L c #94B7D5",
"M c #97BAD8",
"N c #9EBFDA",
"O c #A2C1DC",
"P c #BCBCBC",
"Q c #BDBDBD",
"R c #BFBFBF",
"S c #C0C0C0",
"T c #B0C5D6",
"U c #C6C6C6",
"V c #CCCCCC",
"W c #CFCFCF",
"X c #D0D0D0",
"Y c #C2D7E8",
"Z c #D3D3D3",
"` c #C4D8E9",
" . c #D4D4D4",
".. c #C6D9E9",
"+. c #D6D6D6",
"@. c #D0E0ED",
"#. c #DADEE1",
"$. c #D2E1EE",
"%. c #DFDFDF",
"&. c #E4E4E4",
"*. c #DAE7F1",
"=. c #E5E5E5",
"-. c #E6E6E6",
";. c #E0EAF3",
">. c #E2ECF4",
",. c #E4EDF5",
"'. c #E7EFF6",
"). c #EEEEEE",
"!. c #E8F0F6",
"~. c #EFEFEF",
"{. c #EBF2F8",
"]. c #EDF3F8",
"^. c #F2F2F2",
"/. c #F5F5F5",
"(. c #F6F6F6",
"_. c #F4F8FB",
":. c #FBFBFB",
"<. c #FAFCFD",
"[. c #FCFDFE",
"}. c #FEFEFE",
"|. c #FEFFFF",
"1. c #FFFFFF",
"1.1.1.1.1.1.|.Y t c f F '.1.1.1.",
"1.1.1.1.1./.m e j q L 5 0 *.1.1.",
"1.1.1.1._.w &.C 5 i [.1.",
"1.1.1.1.K } ; 1.!.4 5 ` 1.",
"1.1.1...A = | 1.@.5 5 J 1.",
"^.D %.O T # H 1.M 5 5 s 1.",
"z . > V X D h < ~.1.k 5 5 p 1.",
"[ W - @ , 2 U <.N v a x 1.",
"* & +.. / =.! 1 E #.1.",
"8 % : r o u + { ",
"1.).l R ( Z _ ) ",
"1.1.[.1.S ~ + * :.& 9 ",
"1.1.$.y ;.1. .3 h Z Q ",
"1.1.}.n 6 B ,.1.1.=.' $ (.",
"1.1.1.>.b 5 7 G '.1.}.P ^ @ ] 1.",
"1.1.1.1.{.I g d v ].1.1.1.%.-.1."};

View File

@ -0,0 +1,275 @@
/* XPM */
static char * lwjgl_32x32_xpm[] = {
"32 32 240 2",
" c #FFFFFF",
". c #FAFCFD",
"+ c #CBDDEC",
"@ c #93B7D6",
"# c #6FA0C9",
"$ c #5C93C2",
"% c #6096C3",
"& c #7AA7CD",
"* c #ACC8E0",
"= c #EDF3F8",
"- c #FCFDFE",
"; c #B5CEE3",
"> c #5A92C1",
", c #3A7DB5",
"' c #4585B9",
") c #A1C1DC",
"! c #FCFCFC",
"~ c #E2EAF1",
"{ c #B8CFE3",
"] c #AEC9E0",
"^ c #A3C2DC",
"/ c #98BAD8",
"( c #8CB3D3",
"_ c #81ACCF",
": c #6E9FC8",
"< c #3D7FB6",
"[ c #72A2CA",
"} c #F5F8FB",
"| c #D8D8D8",
"1 c #313131",
"2 c #242424",
"3 c #404040",
"4 c #525252",
"5 c #656565",
"6 c #747474",
"7 c #8F8F8F",
"8 c #F7F8F8",
"9 c #ACC8DF",
"0 c #3B7DB5",
"a c #79A7CD",
"b c #FEFEFE",
"c c #686868",
"d c #000000",
"e c #B6B6B6",
"f c #86AED1",
"g c #AECAE1",
"h c #D3E2EE",
"i c #E1EAF2",
"j c #282828",
"k c #020202",
"l c #DEDEDE",
"m c #5B92C1",
"n c #4886BA",
"o c #F4F8FB",
"p c #ECF3F8",
"q c #6499C5",
"r c #D7D9DB",
"s c #050505",
"t c #C0D5E7",
"u c #397CB5",
"v c #ABC8E0",
"w c #FEFFFF",
"x c #78A6CC",
"y c #7BA7CD",
"z c #9E9E9E",
"A c #E2ECF4",
"B c #377BB4",
"C c #669AC5",
"D c #C3D7E8",
"E c #397DB5",
"F c #B2CCE1",
"G c #585858",
"H c #A9A9A9",
"I c #BCD2E5",
"J c #4081B7",
"K c #EEF4F9",
"L c #DDE5ED",
"M c #1C1C1C",
"N c #070707",
"O c #E7E7E7",
"P c #85AED1",
"Q c #CCDEEC",
"R c #BAD2E5",
"S c #5790BF",
"T c #D0D1D1",
"U c #030303",
"V c #333333",
"W c #FDFDFD",
"X c #FBFCFD",
"Y c #508BBD",
"Z c #B1CCE2",
"` c #CACACA",
" . c #373737",
".. c #616161",
"+. c #A2A2A2",
"@. c #DDDDDD",
"#. c #E4ECF3",
"$. c #B1CBE1",
"%. c #B4CDE2",
"&. c #E6E6E6",
"*. c #232323",
"=. c #727272",
"-. c #D8E5F0",
";. c #A0C0DB",
">. c #666666",
",. c #060606",
"'. c #272727",
"). c #D4D4D4",
"!. c #F6F6F6",
"~. c #D0D0D0",
"{. c #979797",
"]. c #5E5E5E",
"^. c #040404",
"/. c #C0C0C0",
"(. c #A2C1DB",
"_. c #9EBFDA",
":. c #FBFBFB",
"<. c #252525",
"[. c #5C5C5C",
"}. c #EAEAEA",
"|. c #B5B5B5",
"1. c #E9E9E9",
"2. c #B2B2B2",
"3. c #BDBDBD",
"4. c #6B9DC7",
"5. c #DBDBDB",
"6. c #838383",
"7. c #5F5F5F",
"8. c #0B0B0B",
"9. c #767676",
"0. c #B7B7B7",
"a. c #F0F0F0",
"b. c #F0F5F9",
"c. c #4B88BB",
"d. c #B2CCE2",
"e. c #9A9A9A",
"f. c #C5C5C5",
"g. c #F7F7F7",
"h. c #1D1D1D",
"i. c #3C3C3C",
"j. c #DFDFDF",
"k. c #F3F7FA",
"l. c #CCDDEB",
"m. c #9EBEDA",
"n. c #72A1C9",
"o. c #4C89BB",
"p. c #C9DCEB",
"q. c #565656",
"r. c #0F0F0F",
"s. c #F9F9F9",
"t. c #D1D1D1",
"u. c #8E8E8E",
"v. c #848484",
"w. c #707070",
"x. c #B0B0B0",
"y. c #F9FBFC",
"z. c #DCE8F2",
"A. c #F6F9FC",
"B. c #151515",
"C. c #4E4E4E",
"D. c #919191",
"E. c #BBBBBB",
"F. c #2F2F2F",
"G. c #393939",
"H. c #909090",
"I. c #4D4D4D",
"J. c #101010",
"K. c #5A5A5A",
"L. c #090909",
"M. c #323232",
"N. c #B1B1B1",
"O. c #A1A1A1",
"P. c #353535",
"Q. c #F5F5F5",
"R. c #131313",
"S. c #454545",
"T. c #F8F8F8",
"U. c #2B2B2B",
"V. c #BEBEBE",
"W. c #505050",
"X. c #C2C2C2",
"Y. c #868686",
"Z. c #D2D2D2",
"`. c #010101",
" + c #434343",
".+ c #DCDCDC",
"++ c #E0E0E0",
"@+ c #959595",
"#+ c #C8C8C8",
"$+ c #888888",
"%+ c #292929",
"&+ c #181818",
"*+ c #4A4A4A",
"=+ c #CFCFCF",
"-+ c #F1F6FA",
";+ c #4B4B4B",
">+ c #86AFD1",
",+ c #90B5D5",
"'+ c #EAF1F7",
")+ c #787878",
"!+ c #1B1B1B",
"~+ c #969696",
"{+ c #C6C6C6",
"]+ c #C3D8E9",
"^+ c #4383B8",
"/+ c #94B8D6",
"(+ c #F4F4F4",
"_+ c #A7A7A7",
":+ c #858585",
"<+ c #9D9D9D",
"[+ c #FAFBFD",
"}+ c #5D94C2",
"|+ c #4685B9",
"1+ c #98BBD8",
"2+ c #EFF4F9",
"3+ c #9B9B9B",
"4+ c #C5D9E9",
"5+ c #3B7EB6",
"6+ c #F2F6FA",
"7+ c #2C2C2C",
"8+ c #8FB5D5",
"9+ c #4A87BB",
"0+ c #FAFAFA",
"a+ c #6E6E6E",
"b+ c #85AFD1",
"c+ c #4D89BC",
"d+ c #A8C5DE",
"e+ c #0E0E0E",
"f+ c #B8B8B8",
"g+ c #FEFEFF",
"h+ c #B1CBE2",
"i+ c #4C89BC",
"j+ c #BFD4E7",
"k+ c #ECECEC",
"l+ c #939393",
"m+ c #81ACD0",
"n+ c #6599C5",
"o+ c #6197C4",
"p+ c #6C9EC8",
"q+ c #F7FAFC",
" . + @ # $ % & * = ",
" - ; > , , , , , , , ' ) - ",
" ! ~ { ] ^ / ( _ : < , , , [ } ",
" | 1 2 1 3 4 5 6 7 8 9 0 , , , a - ",
" b c d d d d d d d d e b f , , , , g ",
" h i j d d d d d d d k l } m , , , n o ",
" p q r s d d d d d d d 2 b t u , , , v ",
" w x y z d d d d d d d d 5 A B , , , C ",
" D E F G d d d d d d d d H I , , , , J K ",
" . > < L M d d d d d d d N O P , , , , E Q ",
" b R , S T U d d d d d d d V W X Y , , , , E Z ",
" ` ...+.@.#.$.%.&.*.d d d d d d d =. -., , , , , , ;. ",
" >.d d d ,.'.>.). !.~.{.].'.^.d U /. (., , , , , , _. ",
":.<.d d d d d d [. }.7 |.1.W O 2.3.b 4., , , , , , ) ",
"5.U d d d d d d 6. 7.d d 8. .9.0.a. b.c.< u , , , , d. ",
"e.d d d d d d d f.g.h.d d d d d d N i.j. X - k.l.m.n.o., p. ",
"q.d d d d d d r.s.t.U d d d d d d d d u. s.v.w.x.}. y.z.A. ",
"B.d d d d d d C. D.d d d d d d d d d E. z d d d ^.F.w.x.&.b ",
"G.d d d d d d H. I.d d d d d d d d J.a. K.d d d d d d d L.M.N.",
"!.O.P.k d d k t.Q.R.d d d d d d d d S.b T.h.d d d d d d d d d U.",
" ! V.W.s <.s.X.d d d d d d d d d Y. Z.`.d d d d d d d d d +",
" b .+++ @+d d d d d d d d `.#+ u.d d d d d d d d d d $+",
" j.%+d d d d d d d &+Q. *+d d d d d d d d d d =+",
" -+ s.|.;+,.d d d d 4 T.J.d d d d d d d d d M T.",
" >+,+'+ 5.)+!+d d ~+ {+d d d d d d d d d d K. ",
" ]+, ^+/+= (+_+:+(+ Y.d d d d d d d d d d <+ ",
" [+}+, , |+1+2+ 3+d d d d d d d d d s @. ",
" 4+5+, , , n m.6+ :.u.<.`.d d d d d d 7+! ",
" 8+, , , , , 9+^ k. 0+x.S.^.d d d d a+ ",
" - b+, , , , , , c+d+A. b Z.c e+d `.f+ ",
" g+h+i+E , , , , , c+j+ k+l+3+W ",
" k.; m+n+o+p+8+4+q+ "};

View File

@ -0,0 +1,11 @@
The following files are included in the resource archive:
Footsteps.wav - from openal.org cvs
ding.wav - from openal.org cvs
left.wav - sampled by matzon
right.wav - sampled by matzon
center.wav - sampled by matzon
optional:
Missing_you.mod - Missing You, by Doh (Nicolas Desessart, http://doh.av7.net)
phero.mp3 - snipped from unreleased Phero track
phero2.ogg - snipped from unreleased Phero track

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 935 B

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,289 @@
/* MACHINE GENERATED FILE, DO NOT EDIT */
package org.lwjgl.openal;
import org.lwjgl.*;
import java.nio.*;
/**
* <br>
* This is the core OpenAL class. This class implements
* AL.h version 1.1
* <p>
* @author Brian Matzon <brian@matzon.dk>
* @version $Revision: 2286 $
* $Id: AL10.java 2286 2006-03-23 19:32:21Z matzon $
*/
public final class AL11 {
/**
* Source buffer position information in seconds
*/
public static final int AL_SEC_OFFSET = 0x1024;
/**
* Source buffer position information in samples
*/
public static final int AL_SAMPLE_OFFSET = 0x1025;
/**
* Source buffer position information in bytes
*/
public static final int AL_BYTE_OFFSET = 0x1026;
/**
* Type of source: Buffer has been attached using AL_BUFFER
*/
public static final int AL_STATIC = 0x1028;
/**
* Type of source: if one or more Buffers have been attached using alSourceQueueBuffers
*/
public static final int AL_STREAMING = 0x1029;
/**
* Type of source: when it has the NULL buffer attached
*/
public static final int AL_UNDETERMINED = 0x1030;
/**
* @see AL10#AL_INVALID_OPERATION
*/
public static final int AL_ILLEGAL_COMMAND = 0xA004;
/**
* Speed of Sound in units per second
*/
public static final int AL_SPEED_OF_SOUND = 0xC003,
AL_LINEAR_DISTANCE = 0xD003,
AL_LINEAR_DISTANCE_CLAMPED = 0xD004,
AL_EXPONENT_DISTANCE = 0xD005,
AL_EXPONENT_DISTANCE_CLAMPED = 0xD006;
private AL11() {}
static native void initNativeStubs() throws LWJGLException;
/**
* Listener attributes are changed using the Listener group of commands.
* <p>
* @param pname name of the attribute to be set
* @param v1 value value 1
* @param v2 value value 2
* @param v3 value value 3
*/
public static void alListener3i(int pname, int v1, int v2, int v3) {
nalListener3i(pname, v1, v2, v3);
}
static native void nalListener3i(int pname, int v1, int v2, int v3);
/**
* Listener state is maintained inside the AL implementation and can be queried in
* full.
* <p>
* @param pname name of the attribute to be retrieved
* @param intdata Buffer to write ints to
*/
public static void alGetListeneri(int pname, FloatBuffer intdata) {
BufferChecks.checkBuffer(intdata, 1);
nalGetListeneriv(pname, MemoryUtil.getAddress(intdata));
}
static native void nalGetListeneriv(int pname, long intdata);
/**
* Specifies the position and other properties as taken into account during
* sound processing.
* <p>
* @param source Source to set property on
* @param pname property to set
* @param v1 value 1 of property
* @param v2 value 2 of property
* @param v3 value 3 of property
*/
public static void alSource3i(int source, int pname, int v1, int v2, int v3) {
nalSource3i(source, pname, v1, v2, v3);
}
static native void nalSource3i(int source, int pname, int v1, int v2, int v3);
/**
* Specifies the position and other properties as taken into account during
* sound processing.
* <p>
* @param source Source to set property on
* @param pname property to set
* @param value IntBuffer containing value of property
*/
public static void alSource(int source, int pname, IntBuffer value) {
BufferChecks.checkBuffer(value, 1);
nalSourceiv(source, pname, MemoryUtil.getAddress(value));
}
static native void nalSourceiv(int source, int pname, long value);
/**
* This function sets a floating point property of a buffer.
* <i>note: There are no relevant buffer properties defined in OpenAL 1.1 which can be affected by
* this call, but this function may be used by OpenAL extensions.</i>
* <p>
* @param buffer Buffer to set property on
* @param pname property to set
* @param value value of property
*/
public static void alBufferf(int buffer, int pname, float value) {
nalBufferf(buffer, pname, value);
}
static native void nalBufferf(int buffer, int pname, float value);
/**
* This function sets a floating point property of a buffer.
* <i>note: There are no relevant buffer properties defined in OpenAL 1.1 which can be affected by
* this call, but this function may be used by OpenAL extensions.</i>
* <p>
* @param buffer Buffer to set property on
* @param pname property to set
* @param v1 value of property
* @param v2 value of property
* @param v3 value of property
*/
public static void alBuffer3f(int buffer, int pname, float v1, float v2, float v3) {
nalBuffer3f(buffer, pname, v1, v2, v3);
}
static native void nalBuffer3f(int buffer, int pname, float v1, float v2, float v3);
/**
* This function sets a floating point property of a buffer.
* <i>note: There are no relevant buffer properties defined in OpenAL 1.1 which can be affected by
* this call, but this function may be used by OpenAL extensions.</i>
* <p>
* @param buffer Buffer to set property on
* @param pname property to set
* @param value FloatBuffer containing value of property
*/
public static void alBuffer(int buffer, int pname, FloatBuffer value) {
BufferChecks.checkBuffer(value, 1);
nalBufferfv(buffer, pname, MemoryUtil.getAddress(value));
}
static native void nalBufferfv(int buffer, int pname, long value);
/**
* This function sets an integer property of a buffer.
* <i>note: There are no relevant buffer properties defined in OpenAL 1.1 which can be affected by
* this call, but this function may be used by OpenAL extensions.</i>
* <p>
* @param buffer Buffer to set property on
* @param pname property to set
* @param value value of property
*/
public static void alBufferi(int buffer, int pname, int value) {
nalBufferi(buffer, pname, value);
}
static native void nalBufferi(int buffer, int pname, int value);
/**
* This function sets an integer property of a buffer.
* <i>note: There are no relevant buffer properties defined in OpenAL 1.1 which can be affected by
* this call, but this function may be used by OpenAL extensions.</i>
* <p>
* @param buffer Buffer to set property on
* @param pname property to set
* @param v1 value of property
* @param v2 value of property
* @param v3 value of property
*/
public static void alBuffer3i(int buffer, int pname, int v1, int v2, int v3) {
nalBuffer3i(buffer, pname, v1, v2, v3);
}
static native void nalBuffer3i(int buffer, int pname, int v1, int v2, int v3);
/**
* This function sets an integer property of a buffer.
* <i>note: There are no relevant buffer properties defined in OpenAL 1.1 which can be affected by
* this call, but this function may be used by OpenAL extensions.</i>
* <p>
* @param buffer Buffer to set property on
* @param pname property to set
* @param value IntBuffer containing value of property
*/
public static void alBuffer(int buffer, int pname, IntBuffer value) {
BufferChecks.checkBuffer(value, 1);
nalBufferiv(buffer, pname, MemoryUtil.getAddress(value));
}
static native void nalBufferiv(int buffer, int pname, long value);
/**
* This function retrieves an integer property of a buffer.
* <i>note: There are no relevant buffer properties defined in OpenAL 1.1 which can be affected by
* this call, but this function may be used by OpenAL extensions.</i>
* <p>
* @param buffer Buffer to get property from
* @param pname name of property
* @return int
*/
public static int alGetBufferi(int buffer, int pname) {
int __result = nalGetBufferi(buffer, pname);
return __result;
}
static native int nalGetBufferi(int buffer, int pname);
/**
* This function retrieves an integer property of a buffer.
* <p>
* @param buffer Buffer to get property from
* @param pname name of property
*/
public static void alGetBuffer(int buffer, int pname, IntBuffer values) {
BufferChecks.checkBuffer(values, 1);
nalGetBufferiv(buffer, pname, MemoryUtil.getAddress(values));
}
static native void nalGetBufferiv(int buffer, int pname, long values);
/**
* This function retrieves a floating point property of a buffer.
* <i>note: There are no relevant buffer properties defined in OpenAL 1.1 which can be affected by
* this call, but this function may be used by OpenAL extensions.</i>
* <p>
* @param buffer Buffer to get property from
* @param pname name of property
* @return floating point property
*/
public static float alGetBufferf(int buffer, int pname) {
float __result = nalGetBufferf(buffer, pname);
return __result;
}
static native float nalGetBufferf(int buffer, int pname);
/**
* This function retrieves a floating point property of a buffer.
* <i>note: There are no relevant buffer properties defined in OpenAL 1.1 which can be affected by
* this call, but this function may be used by OpenAL extensions.</i>
* <p>
* @param buffer Buffer to get property from
* @param pname name of property
*/
public static void alGetBuffer(int buffer, int pname, FloatBuffer values) {
BufferChecks.checkBuffer(values, 1);
nalGetBufferfv(buffer, pname, MemoryUtil.getAddress(values));
}
static native void nalGetBufferfv(int buffer, int pname, long values);
/**
* <p>
* AL_SPEED_OF_SOUND allows the application to change the reference (propagation)
* speed used in the Doppler calculation. The source and listener velocities should be
* expressed in the same units as the speed of sound.
* </p>
* <p>
* A negative or zero value will result in an AL_INVALID_VALUE error, and the
* command is ignored. The default value is 343.3 (appropriate for velocity units of meters
* and air as the propagation medium). The current setting can be queried using
* alGetFloat{v} and AL_SPEED_OF_SOUND.
* Distance and velocity units are completely independent of one another (so you could use
* different units for each if desired).
* </p>
* <p>
* @param value distance model to be set
*/
public static void alSpeedOfSound(float value) {
nalSpeedOfSound(value);
}
static native void nalSpeedOfSound(float value);
}

View File

@ -0,0 +1,757 @@
/* MACHINE GENERATED FILE, DO NOT EDIT */
package org.lwjgl.openal;
import org.lwjgl.*;
import java.nio.*;
/**
* Implementation of the OpenAL extension ALC_EXT_EFX (version 1.0). Contains necessary fields,
* methods and a range of supplementary fields containing minimum, maximum and default values of
* the former fields.
* <p>
* On top of regular functions defined in the ALC_EXT_EFX, there are also several convenience
* functions. Namely alGen... and alDelete... which do not take a Java buffer parameter and
* automatically create or delete a single object, without the overhead of using a buffer.
* <p>
* For comments and specification of functions and fields, refer to the "Effects Extension Guide"
* which is part of the OpenAL SDK and can be downloaded from:
* http://connect.creativelabs.com/openal/Downloads/Forms/AllItems.aspx
* <p>
* @author Ciardhubh <ciardhubh[at]ciardhubh.de>
* @version $Revision$
* $Id$
*/
public final class EFX10 {
public static final java.lang.String ALC_EXT_EFX_NAME = "ALC_EXT_EFX";
public static final int ALC_EFX_MAJOR_VERSION = 0x20001,
ALC_EFX_MINOR_VERSION = 0x20002,
ALC_MAX_AUXILIARY_SENDS = 0x20003,
AL_METERS_PER_UNIT = 0x20004,
AL_DIRECT_FILTER = 0x20005,
AL_AUXILIARY_SEND_FILTER = 0x20006,
AL_AIR_ABSORPTION_FACTOR = 0x20007,
AL_ROOM_ROLLOFF_FACTOR = 0x20008,
AL_CONE_OUTER_GAINHF = 0x20009,
AL_DIRECT_FILTER_GAINHF_AUTO = 0x2000A,
AL_AUXILIARY_SEND_FILTER_GAIN_AUTO = 0x2000B,
AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO = 0x2000C,
AL_EFFECTSLOT_EFFECT = 0x1,
AL_EFFECTSLOT_GAIN = 0x2,
AL_EFFECTSLOT_AUXILIARY_SEND_AUTO = 0x3,
AL_EFFECTSLOT_NULL = 0x0,
AL_REVERB_DENSITY = 0x1,
AL_REVERB_DIFFUSION = 0x2,
AL_REVERB_GAIN = 0x3,
AL_REVERB_GAINHF = 0x4,
AL_REVERB_DECAY_TIME = 0x5,
AL_REVERB_DECAY_HFRATIO = 0x6,
AL_REVERB_REFLECTIONS_GAIN = 0x7,
AL_REVERB_REFLECTIONS_DELAY = 0x8,
AL_REVERB_LATE_REVERB_GAIN = 0x9,
AL_REVERB_LATE_REVERB_DELAY = 0xA,
AL_REVERB_AIR_ABSORPTION_GAINHF = 0xB,
AL_REVERB_ROOM_ROLLOFF_FACTOR = 0xC,
AL_REVERB_DECAY_HFLIMIT = 0xD,
AL_EAXREVERB_DENSITY = 0x1,
AL_EAXREVERB_DIFFUSION = 0x2,
AL_EAXREVERB_GAIN = 0x3,
AL_EAXREVERB_GAINHF = 0x4,
AL_EAXREVERB_GAINLF = 0x5,
AL_EAXREVERB_DECAY_TIME = 0x6,
AL_EAXREVERB_DECAY_HFRATIO = 0x7,
AL_EAXREVERB_DECAY_LFRATIO = 0x8,
AL_EAXREVERB_REFLECTIONS_GAIN = 0x9,
AL_EAXREVERB_REFLECTIONS_DELAY = 0xA,
AL_EAXREVERB_REFLECTIONS_PAN = 0xB,
AL_EAXREVERB_LATE_REVERB_GAIN = 0xC,
AL_EAXREVERB_LATE_REVERB_DELAY = 0xD,
AL_EAXREVERB_LATE_REVERB_PAN = 0xE,
AL_EAXREVERB_ECHO_TIME = 0xF,
AL_EAXREVERB_ECHO_DEPTH = 0x10,
AL_EAXREVERB_MODULATION_TIME = 0x11,
AL_EAXREVERB_MODULATION_DEPTH = 0x12,
AL_EAXREVERB_AIR_ABSORPTION_GAINHF = 0x13,
AL_EAXREVERB_HFREFERENCE = 0x14,
AL_EAXREVERB_LFREFERENCE = 0x15,
AL_EAXREVERB_ROOM_ROLLOFF_FACTOR = 0x16,
AL_EAXREVERB_DECAY_HFLIMIT = 0x17,
AL_CHORUS_WAVEFORM = 0x1,
AL_CHORUS_PHASE = 0x2,
AL_CHORUS_RATE = 0x3,
AL_CHORUS_DEPTH = 0x4,
AL_CHORUS_FEEDBACK = 0x5,
AL_CHORUS_DELAY = 0x6,
AL_DISTORTION_EDGE = 0x1,
AL_DISTORTION_GAIN = 0x2,
AL_DISTORTION_LOWPASS_CUTOFF = 0x3,
AL_DISTORTION_EQCENTER = 0x4,
AL_DISTORTION_EQBANDWIDTH = 0x5,
AL_ECHO_DELAY = 0x1,
AL_ECHO_LRDELAY = 0x2,
AL_ECHO_DAMPING = 0x3,
AL_ECHO_FEEDBACK = 0x4,
AL_ECHO_SPREAD = 0x5,
AL_FLANGER_WAVEFORM = 0x1,
AL_FLANGER_PHASE = 0x2,
AL_FLANGER_RATE = 0x3,
AL_FLANGER_DEPTH = 0x4,
AL_FLANGER_FEEDBACK = 0x5,
AL_FLANGER_DELAY = 0x6,
AL_FREQUENCY_SHIFTER_FREQUENCY = 0x1,
AL_FREQUENCY_SHIFTER_LEFT_DIRECTION = 0x2,
AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION = 0x3,
AL_VOCAL_MORPHER_PHONEMEA = 0x1,
AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING = 0x2,
AL_VOCAL_MORPHER_PHONEMEB = 0x3,
AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING = 0x4,
AL_VOCAL_MORPHER_WAVEFORM = 0x5,
AL_VOCAL_MORPHER_RATE = 0x6,
AL_PITCH_SHIFTER_COARSE_TUNE = 0x1,
AL_PITCH_SHIFTER_FINE_TUNE = 0x2,
AL_RING_MODULATOR_FREQUENCY = 0x1,
AL_RING_MODULATOR_HIGHPASS_CUTOFF = 0x2,
AL_RING_MODULATOR_WAVEFORM = 0x3,
AL_AUTOWAH_ATTACK_TIME = 0x1,
AL_AUTOWAH_RELEASE_TIME = 0x2,
AL_AUTOWAH_RESONANCE = 0x3,
AL_AUTOWAH_PEAK_GAIN = 0x4,
AL_COMPRESSOR_ONOFF = 0x1,
AL_EQUALIZER_LOW_GAIN = 0x1,
AL_EQUALIZER_LOW_CUTOFF = 0x2,
AL_EQUALIZER_MID1_GAIN = 0x3,
AL_EQUALIZER_MID1_CENTER = 0x4,
AL_EQUALIZER_MID1_WIDTH = 0x5,
AL_EQUALIZER_MID2_GAIN = 0x6,
AL_EQUALIZER_MID2_CENTER = 0x7,
AL_EQUALIZER_MID2_WIDTH = 0x8,
AL_EQUALIZER_HIGH_GAIN = 0x9,
AL_EQUALIZER_HIGH_CUTOFF = 0xA,
AL_EFFECT_FIRST_PARAMETER = 0x0,
AL_EFFECT_LAST_PARAMETER = 0x8000,
AL_EFFECT_TYPE = 0x8001,
AL_EFFECT_NULL = 0x0,
AL_EFFECT_REVERB = 0x1,
AL_EFFECT_CHORUS = 0x2,
AL_EFFECT_DISTORTION = 0x3,
AL_EFFECT_ECHO = 0x4,
AL_EFFECT_FLANGER = 0x5,
AL_EFFECT_FREQUENCY_SHIFTER = 0x6,
AL_EFFECT_VOCAL_MORPHER = 0x7,
AL_EFFECT_PITCH_SHIFTER = 0x8,
AL_EFFECT_RING_MODULATOR = 0x9,
AL_EFFECT_AUTOWAH = 0xA,
AL_EFFECT_COMPRESSOR = 0xB,
AL_EFFECT_EQUALIZER = 0xC,
AL_EFFECT_EAXREVERB = 0x8000,
AL_LOWPASS_GAIN = 0x1,
AL_LOWPASS_GAINHF = 0x2,
AL_HIGHPASS_GAIN = 0x1,
AL_HIGHPASS_GAINLF = 0x2,
AL_BANDPASS_GAIN = 0x1,
AL_BANDPASS_GAINLF = 0x2,
AL_BANDPASS_GAINHF = 0x3,
AL_FILTER_FIRST_PARAMETER = 0x0,
AL_FILTER_LAST_PARAMETER = 0x8000,
AL_FILTER_TYPE = 0x8001,
AL_FILTER_NULL = 0x0,
AL_FILTER_LOWPASS = 0x1,
AL_FILTER_HIGHPASS = 0x2,
AL_FILTER_BANDPASS = 0x3;
public static final float AL_MIN_AIR_ABSORPTION_FACTOR = 0.0f,
AL_MAX_AIR_ABSORPTION_FACTOR = 10.0f,
AL_DEFAULT_AIR_ABSORPTION_FACTOR = 0.0f,
AL_MIN_ROOM_ROLLOFF_FACTOR = 0.0f,
AL_MAX_ROOM_ROLLOFF_FACTOR = 10.0f,
AL_DEFAULT_ROOM_ROLLOFF_FACTOR = 0.0f,
AL_MIN_CONE_OUTER_GAINHF = 0.0f,
AL_MAX_CONE_OUTER_GAINHF = 1.0f,
AL_DEFAULT_CONE_OUTER_GAINHF = 1.0f;
public static final int AL_MIN_DIRECT_FILTER_GAINHF_AUTO = 0x0,
AL_MAX_DIRECT_FILTER_GAINHF_AUTO = 0x1,
AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO = 0x1,
AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO = 0x0,
AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO = 0x1,
AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO = 0x1,
AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO = 0x0,
AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO = 0x1,
AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO = 0x1;
public static final float AL_MIN_METERS_PER_UNIT = 1.4E-45f,
AL_MAX_METERS_PER_UNIT = 3.4028235E38f,
AL_DEFAULT_METERS_PER_UNIT = 1.0f,
AL_REVERB_MIN_DENSITY = 0.0f,
AL_REVERB_MAX_DENSITY = 1.0f,
AL_REVERB_DEFAULT_DENSITY = 1.0f,
AL_REVERB_MIN_DIFFUSION = 0.0f,
AL_REVERB_MAX_DIFFUSION = 1.0f,
AL_REVERB_DEFAULT_DIFFUSION = 1.0f,
AL_REVERB_MIN_GAIN = 0.0f,
AL_REVERB_MAX_GAIN = 1.0f,
AL_REVERB_DEFAULT_GAIN = 0.32f,
AL_REVERB_MIN_GAINHF = 0.0f,
AL_REVERB_MAX_GAINHF = 1.0f,
AL_REVERB_DEFAULT_GAINHF = 0.89f,
AL_REVERB_MIN_DECAY_TIME = 0.1f,
AL_REVERB_MAX_DECAY_TIME = 20.0f,
AL_REVERB_DEFAULT_DECAY_TIME = 1.49f,
AL_REVERB_MIN_DECAY_HFRATIO = 0.1f,
AL_REVERB_MAX_DECAY_HFRATIO = 2.0f,
AL_REVERB_DEFAULT_DECAY_HFRATIO = 0.83f,
AL_REVERB_MIN_REFLECTIONS_GAIN = 0.0f,
AL_REVERB_MAX_REFLECTIONS_GAIN = 3.16f,
AL_REVERB_DEFAULT_REFLECTIONS_GAIN = 0.05f,
AL_REVERB_MIN_REFLECTIONS_DELAY = 0.0f,
AL_REVERB_MAX_REFLECTIONS_DELAY = 0.3f,
AL_REVERB_DEFAULT_REFLECTIONS_DELAY = 0.007f,
AL_REVERB_MIN_LATE_REVERB_GAIN = 0.0f,
AL_REVERB_MAX_LATE_REVERB_GAIN = 10.0f,
AL_REVERB_DEFAULT_LATE_REVERB_GAIN = 1.26f,
AL_REVERB_MIN_LATE_REVERB_DELAY = 0.0f,
AL_REVERB_MAX_LATE_REVERB_DELAY = 0.1f,
AL_REVERB_DEFAULT_LATE_REVERB_DELAY = 0.011f,
AL_REVERB_MIN_AIR_ABSORPTION_GAINHF = 0.892f,
AL_REVERB_MAX_AIR_ABSORPTION_GAINHF = 1.0f,
AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF = 0.994f,
AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR = 0.0f,
AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR = 10.0f,
AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR = 0.0f;
public static final int AL_REVERB_MIN_DECAY_HFLIMIT = 0x0,
AL_REVERB_MAX_DECAY_HFLIMIT = 0x1,
AL_REVERB_DEFAULT_DECAY_HFLIMIT = 0x1;
public static final float AL_EAXREVERB_MIN_DENSITY = 0.0f,
AL_EAXREVERB_MAX_DENSITY = 1.0f,
AL_EAXREVERB_DEFAULT_DENSITY = 1.0f,
AL_EAXREVERB_MIN_DIFFUSION = 0.0f,
AL_EAXREVERB_MAX_DIFFUSION = 1.0f,
AL_EAXREVERB_DEFAULT_DIFFUSION = 1.0f,
AL_EAXREVERB_MIN_GAIN = 0.0f,
AL_EAXREVERB_MAX_GAIN = 1.0f,
AL_EAXREVERB_DEFAULT_GAIN = 0.32f,
AL_EAXREVERB_MIN_GAINHF = 0.0f,
AL_EAXREVERB_MAX_GAINHF = 1.0f,
AL_EAXREVERB_DEFAULT_GAINHF = 0.89f,
AL_EAXREVERB_MIN_GAINLF = 0.0f,
AL_EAXREVERB_MAX_GAINLF = 1.0f,
AL_EAXREVERB_DEFAULT_GAINLF = 1.0f,
AL_EAXREVERB_MIN_DECAY_TIME = 0.1f,
AL_EAXREVERB_MAX_DECAY_TIME = 20.0f,
AL_EAXREVERB_DEFAULT_DECAY_TIME = 1.49f,
AL_EAXREVERB_MIN_DECAY_HFRATIO = 0.1f,
AL_EAXREVERB_MAX_DECAY_HFRATIO = 2.0f,
AL_EAXREVERB_DEFAULT_DECAY_HFRATIO = 0.83f,
AL_EAXREVERB_MIN_DECAY_LFRATIO = 0.1f,
AL_EAXREVERB_MAX_DECAY_LFRATIO = 2.0f,
AL_EAXREVERB_DEFAULT_DECAY_LFRATIO = 1.0f,
AL_EAXREVERB_MIN_REFLECTIONS_GAIN = 0.0f,
AL_EAXREVERB_MAX_REFLECTIONS_GAIN = 3.16f,
AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN = 0.05f,
AL_EAXREVERB_MIN_REFLECTIONS_DELAY = 0.0f,
AL_EAXREVERB_MAX_REFLECTIONS_DELAY = 0.3f,
AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY = 0.007f,
AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN_XYZ = 0.0f,
AL_EAXREVERB_MIN_LATE_REVERB_GAIN = 0.0f,
AL_EAXREVERB_MAX_LATE_REVERB_GAIN = 10.0f,
AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN = 1.26f,
AL_EAXREVERB_MIN_LATE_REVERB_DELAY = 0.0f,
AL_EAXREVERB_MAX_LATE_REVERB_DELAY = 0.1f,
AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY = 0.011f,
AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN_XYZ = 0.0f,
AL_EAXREVERB_MIN_ECHO_TIME = 0.075f,
AL_EAXREVERB_MAX_ECHO_TIME = 0.25f,
AL_EAXREVERB_DEFAULT_ECHO_TIME = 0.25f,
AL_EAXREVERB_MIN_ECHO_DEPTH = 0.0f,
AL_EAXREVERB_MAX_ECHO_DEPTH = 1.0f,
AL_EAXREVERB_DEFAULT_ECHO_DEPTH = 0.0f,
AL_EAXREVERB_MIN_MODULATION_TIME = 0.04f,
AL_EAXREVERB_MAX_MODULATION_TIME = 4.0f,
AL_EAXREVERB_DEFAULT_MODULATION_TIME = 0.25f,
AL_EAXREVERB_MIN_MODULATION_DEPTH = 0.0f,
AL_EAXREVERB_MAX_MODULATION_DEPTH = 1.0f,
AL_EAXREVERB_DEFAULT_MODULATION_DEPTH = 0.0f,
AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF = 0.892f,
AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF = 1.0f,
AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF = 0.994f,
AL_EAXREVERB_MIN_HFREFERENCE = 1000.0f,
AL_EAXREVERB_MAX_HFREFERENCE = 20000.0f,
AL_EAXREVERB_DEFAULT_HFREFERENCE = 5000.0f,
AL_EAXREVERB_MIN_LFREFERENCE = 20.0f,
AL_EAXREVERB_MAX_LFREFERENCE = 1000.0f,
AL_EAXREVERB_DEFAULT_LFREFERENCE = 250.0f,
AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR = 0.0f,
AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR = 10.0f,
AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR = 0.0f;
public static final int AL_EAXREVERB_MIN_DECAY_HFLIMIT = 0x0,
AL_EAXREVERB_MAX_DECAY_HFLIMIT = 0x1,
AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT = 0x1,
AL_CHORUS_WAVEFORM_SINUSOID = 0x0,
AL_CHORUS_WAVEFORM_TRIANGLE = 0x1,
AL_CHORUS_MIN_WAVEFORM = 0x0,
AL_CHORUS_MAX_WAVEFORM = 0x1,
AL_CHORUS_DEFAULT_WAVEFORM = 0x1,
AL_CHORUS_MIN_PHASE = 0xFFFFFF4C,
AL_CHORUS_MAX_PHASE = 0xB4,
AL_CHORUS_DEFAULT_PHASE = 0x5A;
public static final float AL_CHORUS_MIN_RATE = 0.0f,
AL_CHORUS_MAX_RATE = 10.0f,
AL_CHORUS_DEFAULT_RATE = 1.1f,
AL_CHORUS_MIN_DEPTH = 0.0f,
AL_CHORUS_MAX_DEPTH = 1.0f,
AL_CHORUS_DEFAULT_DEPTH = 0.1f,
AL_CHORUS_MIN_FEEDBACK = -1.0f,
AL_CHORUS_MAX_FEEDBACK = 1.0f,
AL_CHORUS_DEFAULT_FEEDBACK = 0.25f,
AL_CHORUS_MIN_DELAY = 0.0f,
AL_CHORUS_MAX_DELAY = 0.016f,
AL_CHORUS_DEFAULT_DELAY = 0.016f,
AL_DISTORTION_MIN_EDGE = 0.0f,
AL_DISTORTION_MAX_EDGE = 1.0f,
AL_DISTORTION_DEFAULT_EDGE = 0.2f,
AL_DISTORTION_MIN_GAIN = 0.01f,
AL_DISTORTION_MAX_GAIN = 1.0f,
AL_DISTORTION_DEFAULT_GAIN = 0.05f,
AL_DISTORTION_MIN_LOWPASS_CUTOFF = 80.0f,
AL_DISTORTION_MAX_LOWPASS_CUTOFF = 24000.0f,
AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF = 8000.0f,
AL_DISTORTION_MIN_EQCENTER = 80.0f,
AL_DISTORTION_MAX_EQCENTER = 24000.0f,
AL_DISTORTION_DEFAULT_EQCENTER = 3600.0f,
AL_DISTORTION_MIN_EQBANDWIDTH = 80.0f,
AL_DISTORTION_MAX_EQBANDWIDTH = 24000.0f,
AL_DISTORTION_DEFAULT_EQBANDWIDTH = 3600.0f,
AL_ECHO_MIN_DELAY = 0.0f,
AL_ECHO_MAX_DELAY = 0.207f,
AL_ECHO_DEFAULT_DELAY = 0.1f,
AL_ECHO_MIN_LRDELAY = 0.0f,
AL_ECHO_MAX_LRDELAY = 0.404f,
AL_ECHO_DEFAULT_LRDELAY = 0.1f,
AL_ECHO_MIN_DAMPING = 0.0f,
AL_ECHO_MAX_DAMPING = 0.99f,
AL_ECHO_DEFAULT_DAMPING = 0.5f,
AL_ECHO_MIN_FEEDBACK = 0.0f,
AL_ECHO_MAX_FEEDBACK = 1.0f,
AL_ECHO_DEFAULT_FEEDBACK = 0.5f,
AL_ECHO_MIN_SPREAD = -1.0f,
AL_ECHO_MAX_SPREAD = 1.0f,
AL_ECHO_DEFAULT_SPREAD = -1.0f;
public static final int AL_FLANGER_WAVEFORM_SINUSOID = 0x0,
AL_FLANGER_WAVEFORM_TRIANGLE = 0x1,
AL_FLANGER_MIN_WAVEFORM = 0x0,
AL_FLANGER_MAX_WAVEFORM = 0x1,
AL_FLANGER_DEFAULT_WAVEFORM = 0x1,
AL_FLANGER_MIN_PHASE = 0xFFFFFF4C,
AL_FLANGER_MAX_PHASE = 0xB4,
AL_FLANGER_DEFAULT_PHASE = 0x0;
public static final float AL_FLANGER_MIN_RATE = 0.0f,
AL_FLANGER_MAX_RATE = 10.0f,
AL_FLANGER_DEFAULT_RATE = 0.27f,
AL_FLANGER_MIN_DEPTH = 0.0f,
AL_FLANGER_MAX_DEPTH = 1.0f,
AL_FLANGER_DEFAULT_DEPTH = 1.0f,
AL_FLANGER_MIN_FEEDBACK = -1.0f,
AL_FLANGER_MAX_FEEDBACK = 1.0f,
AL_FLANGER_DEFAULT_FEEDBACK = -0.5f,
AL_FLANGER_MIN_DELAY = 0.0f,
AL_FLANGER_MAX_DELAY = 0.004f,
AL_FLANGER_DEFAULT_DELAY = 0.002f,
AL_FREQUENCY_SHIFTER_MIN_FREQUENCY = 0.0f,
AL_FREQUENCY_SHIFTER_MAX_FREQUENCY = 24000.0f,
AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY = 0.0f;
public static final int AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION = 0x0,
AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION = 0x2,
AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION = 0x0,
AL_FREQUENCY_SHIFTER_DIRECTION_DOWN = 0x0,
AL_FREQUENCY_SHIFTER_DIRECTION_UP = 0x1,
AL_FREQUENCY_SHIFTER_DIRECTION_OFF = 0x2,
AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION = 0x0,
AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION = 0x2,
AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION = 0x0,
AL_VOCAL_MORPHER_MIN_PHONEMEA = 0x0,
AL_VOCAL_MORPHER_MAX_PHONEMEA = 0x1D,
AL_VOCAL_MORPHER_DEFAULT_PHONEMEA = 0x0,
AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING = 0xFFFFFFE8,
AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING = 0x18,
AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING = 0x0,
AL_VOCAL_MORPHER_MIN_PHONEMEB = 0x0,
AL_VOCAL_MORPHER_MAX_PHONEMEB = 0x1D,
AL_VOCAL_MORPHER_DEFAULT_PHONEMEB = 0xA,
AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING = 0xFFFFFFE8,
AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING = 0x18,
AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING = 0x0,
AL_VOCAL_MORPHER_PHONEME_A = 0x0,
AL_VOCAL_MORPHER_PHONEME_E = 0x1,
AL_VOCAL_MORPHER_PHONEME_I = 0x2,
AL_VOCAL_MORPHER_PHONEME_O = 0x3,
AL_VOCAL_MORPHER_PHONEME_U = 0x4,
AL_VOCAL_MORPHER_PHONEME_AA = 0x5,
AL_VOCAL_MORPHER_PHONEME_AE = 0x6,
AL_VOCAL_MORPHER_PHONEME_AH = 0x7,
AL_VOCAL_MORPHER_PHONEME_AO = 0x8,
AL_VOCAL_MORPHER_PHONEME_EH = 0x9,
AL_VOCAL_MORPHER_PHONEME_ER = 0xA,
AL_VOCAL_MORPHER_PHONEME_IH = 0xB,
AL_VOCAL_MORPHER_PHONEME_IY = 0xC,
AL_VOCAL_MORPHER_PHONEME_UH = 0xD,
AL_VOCAL_MORPHER_PHONEME_UW = 0xE,
AL_VOCAL_MORPHER_PHONEME_B = 0xF,
AL_VOCAL_MORPHER_PHONEME_D = 0x10,
AL_VOCAL_MORPHER_PHONEME_F = 0x11,
AL_VOCAL_MORPHER_PHONEME_G = 0x12,
AL_VOCAL_MORPHER_PHONEME_J = 0x13,
AL_VOCAL_MORPHER_PHONEME_K = 0x14,
AL_VOCAL_MORPHER_PHONEME_L = 0x15,
AL_VOCAL_MORPHER_PHONEME_M = 0x16,
AL_VOCAL_MORPHER_PHONEME_N = 0x17,
AL_VOCAL_MORPHER_PHONEME_P = 0x18,
AL_VOCAL_MORPHER_PHONEME_R = 0x19,
AL_VOCAL_MORPHER_PHONEME_S = 0x1A,
AL_VOCAL_MORPHER_PHONEME_T = 0x1B,
AL_VOCAL_MORPHER_PHONEME_V = 0x1C,
AL_VOCAL_MORPHER_PHONEME_Z = 0x1D,
AL_VOCAL_MORPHER_WAVEFORM_SINUSOID = 0x0,
AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE = 0x1,
AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH = 0x2,
AL_VOCAL_MORPHER_MIN_WAVEFORM = 0x0,
AL_VOCAL_MORPHER_MAX_WAVEFORM = 0x2,
AL_VOCAL_MORPHER_DEFAULT_WAVEFORM = 0x0;
public static final float AL_VOCAL_MORPHER_MIN_RATE = 0.0f,
AL_VOCAL_MORPHER_MAX_RATE = 10.0f,
AL_VOCAL_MORPHER_DEFAULT_RATE = 1.41f;
public static final int AL_PITCH_SHIFTER_MIN_COARSE_TUNE = 0xFFFFFFF4,
AL_PITCH_SHIFTER_MAX_COARSE_TUNE = 0xC,
AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE = 0xC,
AL_PITCH_SHIFTER_MIN_FINE_TUNE = 0xFFFFFFCE,
AL_PITCH_SHIFTER_MAX_FINE_TUNE = 0x32,
AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE = 0x0;
public static final float AL_RING_MODULATOR_MIN_FREQUENCY = 0.0f,
AL_RING_MODULATOR_MAX_FREQUENCY = 8000.0f,
AL_RING_MODULATOR_DEFAULT_FREQUENCY = 440.0f,
AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF = 0.0f,
AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF = 24000.0f,
AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF = 800.0f;
public static final int AL_RING_MODULATOR_SINUSOID = 0x0,
AL_RING_MODULATOR_SAWTOOTH = 0x1,
AL_RING_MODULATOR_SQUARE = 0x2,
AL_RING_MODULATOR_MIN_WAVEFORM = 0x0,
AL_RING_MODULATOR_MAX_WAVEFORM = 0x2,
AL_RING_MODULATOR_DEFAULT_WAVEFORM = 0x0;
public static final float AL_AUTOWAH_MIN_ATTACK_TIME = 1.0E-4f,
AL_AUTOWAH_MAX_ATTACK_TIME = 1.0f,
AL_AUTOWAH_DEFAULT_ATTACK_TIME = 0.06f,
AL_AUTOWAH_MIN_RELEASE_TIME = 1.0E-4f,
AL_AUTOWAH_MAX_RELEASE_TIME = 1.0f,
AL_AUTOWAH_DEFAULT_RELEASE_TIME = 0.06f,
AL_AUTOWAH_MIN_RESONANCE = 2.0f,
AL_AUTOWAH_MAX_RESONANCE = 1000.0f,
AL_AUTOWAH_DEFAULT_RESONANCE = 1000.0f,
AL_AUTOWAH_MIN_PEAK_GAIN = 3.0E-5f,
AL_AUTOWAH_MAX_PEAK_GAIN = 31621.0f,
AL_AUTOWAH_DEFAULT_PEAK_GAIN = 11.22f;
public static final int AL_COMPRESSOR_MIN_ONOFF = 0x0,
AL_COMPRESSOR_MAX_ONOFF = 0x1,
AL_COMPRESSOR_DEFAULT_ONOFF = 0x1;
public static final float AL_EQUALIZER_MIN_LOW_GAIN = 0.126f,
AL_EQUALIZER_MAX_LOW_GAIN = 7.943f,
AL_EQUALIZER_DEFAULT_LOW_GAIN = 1.0f,
AL_EQUALIZER_MIN_LOW_CUTOFF = 50.0f,
AL_EQUALIZER_MAX_LOW_CUTOFF = 800.0f,
AL_EQUALIZER_DEFAULT_LOW_CUTOFF = 200.0f,
AL_EQUALIZER_MIN_MID1_GAIN = 0.126f,
AL_EQUALIZER_MAX_MID1_GAIN = 7.943f,
AL_EQUALIZER_DEFAULT_MID1_GAIN = 1.0f,
AL_EQUALIZER_MIN_MID1_CENTER = 200.0f,
AL_EQUALIZER_MAX_MID1_CENTER = 3000.0f,
AL_EQUALIZER_DEFAULT_MID1_CENTER = 500.0f,
AL_EQUALIZER_MIN_MID1_WIDTH = 0.01f,
AL_EQUALIZER_MAX_MID1_WIDTH = 1.0f,
AL_EQUALIZER_DEFAULT_MID1_WIDTH = 1.0f,
AL_EQUALIZER_MIN_MID2_GAIN = 0.126f,
AL_EQUALIZER_MAX_MID2_GAIN = 7.943f,
AL_EQUALIZER_DEFAULT_MID2_GAIN = 1.0f,
AL_EQUALIZER_MIN_MID2_CENTER = 1000.0f,
AL_EQUALIZER_MAX_MID2_CENTER = 8000.0f,
AL_EQUALIZER_DEFAULT_MID2_CENTER = 3000.0f,
AL_EQUALIZER_MIN_MID2_WIDTH = 0.01f,
AL_EQUALIZER_MAX_MID2_WIDTH = 1.0f,
AL_EQUALIZER_DEFAULT_MID2_WIDTH = 1.0f,
AL_EQUALIZER_MIN_HIGH_GAIN = 0.126f,
AL_EQUALIZER_MAX_HIGH_GAIN = 7.943f,
AL_EQUALIZER_DEFAULT_HIGH_GAIN = 1.0f,
AL_EQUALIZER_MIN_HIGH_CUTOFF = 4000.0f,
AL_EQUALIZER_MAX_HIGH_CUTOFF = 16000.0f,
AL_EQUALIZER_DEFAULT_HIGH_CUTOFF = 6000.0f,
LOWPASS_MIN_GAIN = 0.0f,
LOWPASS_MAX_GAIN = 1.0f,
LOWPASS_DEFAULT_GAIN = 1.0f,
LOWPASS_MIN_GAINHF = 0.0f,
LOWPASS_MAX_GAINHF = 1.0f,
LOWPASS_DEFAULT_GAINHF = 1.0f,
HIGHPASS_MIN_GAIN = 0.0f,
HIGHPASS_MAX_GAIN = 1.0f,
HIGHPASS_DEFAULT_GAIN = 1.0f,
HIGHPASS_MIN_GAINLF = 0.0f,
HIGHPASS_MAX_GAINLF = 1.0f,
HIGHPASS_DEFAULT_GAINLF = 1.0f,
BANDPASS_MIN_GAIN = 0.0f,
BANDPASS_MAX_GAIN = 1.0f,
BANDPASS_DEFAULT_GAIN = 1.0f,
BANDPASS_MIN_GAINHF = 0.0f,
BANDPASS_MAX_GAINHF = 1.0f,
BANDPASS_DEFAULT_GAINHF = 1.0f,
BANDPASS_MIN_GAINLF = 0.0f,
BANDPASS_MAX_GAINLF = 1.0f,
BANDPASS_DEFAULT_GAINLF = 1.0f;
private EFX10() {}
static native void initNativeStubs() throws LWJGLException;
public static void alGenAuxiliaryEffectSlots(IntBuffer auxiliaryeffectslots) {
BufferChecks.checkDirect(auxiliaryeffectslots);
nalGenAuxiliaryEffectSlots(auxiliaryeffectslots.remaining(), MemoryUtil.getAddress(auxiliaryeffectslots));
}
static native void nalGenAuxiliaryEffectSlots(int auxiliaryeffectslots_n, long auxiliaryeffectslots);
/** Overloads alGenAuxiliaryEffectSlots. */
public static int alGenAuxiliaryEffectSlots() {
int __result = nalGenAuxiliaryEffectSlots2(1);
return __result;
}
static native int nalGenAuxiliaryEffectSlots2(int n);
public static void alDeleteAuxiliaryEffectSlots(IntBuffer auxiliaryeffectslots) {
BufferChecks.checkDirect(auxiliaryeffectslots);
nalDeleteAuxiliaryEffectSlots(auxiliaryeffectslots.remaining(), MemoryUtil.getAddress(auxiliaryeffectslots));
}
static native void nalDeleteAuxiliaryEffectSlots(int auxiliaryeffectslots_n, long auxiliaryeffectslots);
/** Overloads alDeleteAuxiliaryEffectSlots. */
public static void alDeleteAuxiliaryEffectSlots(int auxiliaryeffectslot) {
nalDeleteAuxiliaryEffectSlots2(1, auxiliaryeffectslot);
}
static native void nalDeleteAuxiliaryEffectSlots2(int n, int auxiliaryeffectslot);
public static boolean alIsAuxiliaryEffectSlot(int auxiliaryeffectslot) {
boolean __result = nalIsAuxiliaryEffectSlot(auxiliaryeffectslot);
return __result;
}
static native boolean nalIsAuxiliaryEffectSlot(int auxiliaryeffectslot);
public static void alAuxiliaryEffectSloti(int auxiliaryeffectslot, int param, int value) {
nalAuxiliaryEffectSloti(auxiliaryeffectslot, param, value);
}
static native void nalAuxiliaryEffectSloti(int auxiliaryeffectslot, int param, int value);
public static void alAuxiliaryEffectSlot(int auxiliaryeffectslot, int param, IntBuffer values) {
BufferChecks.checkBuffer(values, 1);
nalAuxiliaryEffectSlotiv(auxiliaryeffectslot, param, MemoryUtil.getAddress(values));
}
static native void nalAuxiliaryEffectSlotiv(int auxiliaryeffectslot, int param, long values);
public static void alAuxiliaryEffectSlotf(int auxiliaryeffectslot, int param, float value) {
nalAuxiliaryEffectSlotf(auxiliaryeffectslot, param, value);
}
static native void nalAuxiliaryEffectSlotf(int auxiliaryeffectslot, int param, float value);
public static void alAuxiliaryEffectSlot(int auxiliaryeffectslot, int param, FloatBuffer values) {
BufferChecks.checkBuffer(values, 1);
nalAuxiliaryEffectSlotfv(auxiliaryeffectslot, param, MemoryUtil.getAddress(values));
}
static native void nalAuxiliaryEffectSlotfv(int auxiliaryeffectslot, int param, long values);
public static int alGetAuxiliaryEffectSloti(int auxiliaryeffectslot, int param) {
int __result = nalGetAuxiliaryEffectSloti(auxiliaryeffectslot, param);
return __result;
}
static native int nalGetAuxiliaryEffectSloti(int auxiliaryeffectslot, int param);
public static void alGetAuxiliaryEffectSlot(int auxiliaryeffectslot, int param, IntBuffer intdata) {
BufferChecks.checkBuffer(intdata, 1);
nalGetAuxiliaryEffectSlotiv(auxiliaryeffectslot, param, MemoryUtil.getAddress(intdata));
}
static native void nalGetAuxiliaryEffectSlotiv(int auxiliaryeffectslot, int param, long intdata);
public static float alGetAuxiliaryEffectSlotf(int auxiliaryeffectslot, int param) {
float __result = nalGetAuxiliaryEffectSlotf(auxiliaryeffectslot, param);
return __result;
}
static native float nalGetAuxiliaryEffectSlotf(int auxiliaryeffectslot, int param);
public static void alGetAuxiliaryEffectSlot(int auxiliaryeffectslot, int param, FloatBuffer floatdata) {
BufferChecks.checkBuffer(floatdata, 1);
nalGetAuxiliaryEffectSlotfv(auxiliaryeffectslot, param, MemoryUtil.getAddress(floatdata));
}
static native void nalGetAuxiliaryEffectSlotfv(int auxiliaryeffectslot, int param, long floatdata);
public static void alGenEffects(IntBuffer effects) {
BufferChecks.checkDirect(effects);
nalGenEffects(effects.remaining(), MemoryUtil.getAddress(effects));
}
static native void nalGenEffects(int effects_n, long effects);
/** Overloads alGenEffects. */
public static int alGenEffects() {
int __result = nalGenEffects2(1);
return __result;
}
static native int nalGenEffects2(int n);
public static void alDeleteEffects(IntBuffer effects) {
BufferChecks.checkDirect(effects);
nalDeleteEffects(effects.remaining(), MemoryUtil.getAddress(effects));
}
static native void nalDeleteEffects(int effects_n, long effects);
/** Overloads alDeleteEffects. */
public static void alDeleteEffects(int effect) {
nalDeleteEffects2(1, effect);
}
static native void nalDeleteEffects2(int n, int effect);
public static boolean alIsEffect(int effect) {
boolean __result = nalIsEffect(effect);
return __result;
}
static native boolean nalIsEffect(int effect);
public static void alEffecti(int effect, int param, int value) {
nalEffecti(effect, param, value);
}
static native void nalEffecti(int effect, int param, int value);
public static void alEffect(int effect, int param, IntBuffer values) {
BufferChecks.checkBuffer(values, 1);
nalEffectiv(effect, param, MemoryUtil.getAddress(values));
}
static native void nalEffectiv(int effect, int param, long values);
public static void alEffectf(int effect, int param, float value) {
nalEffectf(effect, param, value);
}
static native void nalEffectf(int effect, int param, float value);
public static void alEffect(int effect, int param, FloatBuffer values) {
BufferChecks.checkBuffer(values, 1);
nalEffectfv(effect, param, MemoryUtil.getAddress(values));
}
static native void nalEffectfv(int effect, int param, long values);
public static int alGetEffecti(int effect, int param) {
int __result = nalGetEffecti(effect, param);
return __result;
}
static native int nalGetEffecti(int effect, int param);
public static void alGetEffect(int effect, int param, IntBuffer intdata) {
BufferChecks.checkBuffer(intdata, 1);
nalGetEffectiv(effect, param, MemoryUtil.getAddress(intdata));
}
static native void nalGetEffectiv(int effect, int param, long intdata);
public static float alGetEffectf(int effect, int param) {
float __result = nalGetEffectf(effect, param);
return __result;
}
static native float nalGetEffectf(int effect, int param);
public static void alGetEffect(int effect, int param, FloatBuffer floatdata) {
BufferChecks.checkBuffer(floatdata, 1);
nalGetEffectfv(effect, param, MemoryUtil.getAddress(floatdata));
}
static native void nalGetEffectfv(int effect, int param, long floatdata);
public static void alGenFilters(IntBuffer filters) {
BufferChecks.checkDirect(filters);
nalGenFilters(filters.remaining(), MemoryUtil.getAddress(filters));
}
static native void nalGenFilters(int filters_n, long filters);
/** Overloads alGenFilters. */
public static int alGenFilters() {
int __result = nalGenFilters2(1);
return __result;
}
static native int nalGenFilters2(int n);
public static void alDeleteFilters(IntBuffer filters) {
BufferChecks.checkDirect(filters);
nalDeleteFilters(filters.remaining(), MemoryUtil.getAddress(filters));
}
static native void nalDeleteFilters(int filters_n, long filters);
/** Overloads alDeleteFilters. */
public static void alDeleteFilters(int filter) {
nalDeleteFilters2(1, filter);
}
static native void nalDeleteFilters2(int n, int filter);
public static boolean alIsFilter(int filter) {
boolean __result = nalIsFilter(filter);
return __result;
}
static native boolean nalIsFilter(int filter);
public static void alFilteri(int filter, int param, int value) {
nalFilteri(filter, param, value);
}
static native void nalFilteri(int filter, int param, int value);
public static void alFilter(int filter, int param, IntBuffer values) {
BufferChecks.checkBuffer(values, 1);
nalFilteriv(filter, param, MemoryUtil.getAddress(values));
}
static native void nalFilteriv(int filter, int param, long values);
public static void alFilterf(int filter, int param, float value) {
nalFilterf(filter, param, value);
}
static native void nalFilterf(int filter, int param, float value);
public static void alFilter(int filter, int param, FloatBuffer values) {
BufferChecks.checkBuffer(values, 1);
nalFilterfv(filter, param, MemoryUtil.getAddress(values));
}
static native void nalFilterfv(int filter, int param, long values);
public static int alGetFilteri(int filter, int param) {
int __result = nalGetFilteri(filter, param);
return __result;
}
static native int nalGetFilteri(int filter, int param);
public static void alGetFilter(int filter, int param, IntBuffer intdata) {
BufferChecks.checkBuffer(intdata, 1);
nalGetFilteriv(filter, param, MemoryUtil.getAddress(intdata));
}
static native void nalGetFilteriv(int filter, int param, long intdata);
public static float alGetFilterf(int filter, int param) {
float __result = nalGetFilterf(filter, param);
return __result;
}
static native float nalGetFilterf(int filter, int param);
public static void alGetFilter(int filter, int param, FloatBuffer floatdata) {
BufferChecks.checkBuffer(floatdata, 1);
nalGetFilterfv(filter, param, MemoryUtil.getAddress(floatdata));
}
static native void nalGetFilterfv(int filter, int param, long floatdata);
}

Some files were not shown because too many files have changed in this diff Show More