I use the program Tiled to create tile maps, which export to the TMX format. However, I can't find a way to load them into my LWJGL game. I don't want anything that renders them automatically, I want to render them myself. I just need a way to read the data required for me to know where and what to draw in my game. Are there any libraries or code I can use to accomplish this?
Ok, so I have made a .tmx file for my first level, but I am unsure how I would load it into my game. Currently I am iterating through an internal array to set the blocks, but I need to know how to load the .tmx file into the code.  Here is my World.java:  import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import javax.imageio.ImageIO; import java.io.*;  class World {     Image ground;     Block[] blocks = new Block[46];     int map[][] = {             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},         };     World() {         int enc = -1;         for (int i = 0; i &lt; map.length; i++) {             for (int j = 0; j &lt; map[i].length; j++) {                 if (map[i][j] == 1) {                     enc++;                     blocks[enc] = new Block(j * 32, i * 32, 32, 32, 1);                 } else if (map[i][j] == 2) {                     enc++;                     blocks[enc] = new Block(j * 32, i * 32, 32, 32, 2);                 }             }         }     } }
Joining two rigged models I currently trying to join two rigged (and animated) models, which both has separate meshes, separate bones and separate animations. The first mesh is the horse while the second mesh is human:   So I am interested to join human model onto horse model to make a rider:   I think the best way would be to make horse as a parent and human as a child during the join process. In that case I would like that all horse animations (there are 3 of them - idle, walk and run) would remain as they are, while I can lose human animations, as I will need different ones for it. I was also thinking to make human root bone as a child of one horse back bones, that when horse moves up and down it would move entire human mesh together. It would be also good to keep the same weights that human bones would not start deforming horse mesh and vice versa.  I tried to use Ctrl+J by selecting various combinations between bones and meshes in object mode, however, I noticed that it messes up scaling and rotation of the child object. So I was wondering how it would be possible to properly join these models to create a rider? How can I fix a 404 Error when using a PPA or updating my package lists? Remove empty elements from an array in Javascript How do I remove empty elements from an array in JavaScript?   Is there a straightforward way, or do I need to loop through it and remove them manually? Defining the Complex numbers I posted this question nearly 10 days ago, but am still really not satisfied with the answers I got, I have no prior education in abstract algebra, group theory, or other abstractions, and most of the answers I got involved defining sets, groups and other things I am unfamiliar with, my question was,  How does one know the notion of real numbers is compatible with the axioms defined for complex numbers, ie how does one know that by defining an operator '$i$' with the property that $i^2=-1$, we will not in some way contradict some statement that is an outcome of the real numbers.  For example if I defined an operator x with the property that $x^{2n}=-1$, and $x^{2n+1}=1$, for all integers n, this operator is not consistent when used compatibly with properties of the real numbers, since I would have $x^2=-1$, $x^3=1$,thus $x^5=-1$, but I defined $x^5$ to be equal to 1.  How do I know I wont encounter such a contradiction based upon the axioms of the complex numbers.  I reiterate here again, Please don't use terminology, or abstract math, that hasn't been taught in say a thorough collage level calculus 1 course.  Here's a link to the same question I asked 8 or so days ago: Restoring original Settings Menu in QGIS customization? Making some tests in Windows XP for customizing a user interface in QGIS 1.8 (see ), I have unchecked, among other options, the Settings Menu. This means that, after restarting QGIS, there's no way of recovering the older settings because there is not already a Setting Menu. So, I cannot reload any ini file.  For your information, as a precaution, previously I have saved in a folder both the original ini file, with all the options, and the customized ini file with only some options (of course, not included here the necessary Settings Menu).  Before reinstalling QGIS (version 1,8), I would like to try other smarter options if there's any. Where and what does QGIS look at where this applications starts? General closed form of $\int_{0}^{\theta_0} \frac{1}{\sqrt{\cos \theta-\cos \theta_0}} d\theta$ I once asked a  about how to integrate the reciprocal of the square root of cosine.  Is  there a general closed form for the integral $$\int_{0}^{\theta_0} \frac{1}{\sqrt{\cos \theta-\cos \theta_0}} d\theta$$   in terms of the gamma function?  Thank you. Prove that if $(ab)^i = a^ib^i \forall a,b\in G$ for three consecutive integers $i$ then G is abelian How did Luke know where to land on Dagobah? How do I calculate the date six months from the current date using the datetime Python module? Standalone python app that uses qgis.core without installing qgis Filesystem owner changed by mistake I ran this command on my ubuntu 12.04 by mistake:  chown someuser / -R   On RHEL it would be fixed by this command:  rpm --setugids -a   Is there anyway to fix it in ubuntu server? Maximum value of $\sin A+\sin B+\sin C$? "ping: unknown host google.com" but IPs works fine How to show that the commutator subgroup is a normal subgroup It is suggested as an exercise in Serge Lang's book "Algebra" to show that the commutator subgroup $G^c$ of a group $G$ is a normal subgroup.   I'd like to do that but I am afraid I need help,   I think the first thing I need to figure out is how a general element in the commutator subgroup looks like, so that I can check that the defining condition for normality is satisfied.  That is, supposing for a moment that a general element in $G^c$ is denoted by $g$, I need to show that $aga^{-1} \in G^c,$ for all $a \in G$.  But here I get stuck, first because I am unsure how to write a general element in $G^c$ - a simple product in $G^c$ is of the form $xyx^{-1}y^{-1}aba^{-1}b^{-1}$ where $a,b \in G$. I cannot see a way to simplify this - I am sure there is one, but somehow I am blind today.  The second thing then is, even if one tries out the conjugation of a simple element like $xyx^{-1}y^{-1}$ in $G^c$, again not simplification offers itself easily I think .. what am I missing ?  An alternative would be to find a homomorphism of $G$ whose kernel is precisely $G^c$ - here I tried to think of this as a map $G \times G \to G$ but whatever I cook up is not a homomorphism.  Thanks for your hints !! How do you remove the axis multiplier? How to remove a vector QgsVectorLayer from QGIS python plugin I managed to add QgsVectorLayer in QGIS through a python plugin, for example:  vl = self.iface.addVectorLayer(uri.uri(), layerName, self.dbConn.getProviderName())   But how can I remove it? I have 2 graphics cards (Tesla k10, K40) in my supermicro SuperServer (7047GR-TPRF). I installed Ubuntu Server 14.04, but when I install cuda or Nvidia graphics driver (version 311 or 340), my Ubuntu desktop hangs on login. Simple approximation of Inverse Incomplete gamma function Is adjusting p-values in a multiple regression for multiple comparisons a good idea? Lets assume you are a social science researcher/econometrician trying to find relevant predictors of demand for a service. You have 2 outcome/dependent variables describing the demand (using the service yes/no, and the number of occasions). You have 10 predictor/independent variables that could theoretically explain the demand (e.g., age, sex, income, price, race, etc). Running two separate  multiple regressions will yield 20 coefficients estimations and their p-values. With enough independent variables in your regressions you would sooner or later find at least one variable with a statistically significant correlation between the dependent and independent variables.   My question: is it a good idea to correct the p-values for multiple tests if I want to include all independent variables in the regression? Any references to prior work are much appreciated. I don't know what I've done, but all of a sudden I am unable to compile any document which uses the geometry package. Minimal (non)-working example:     \documentclass[11pt]{article}      \usepackage{geometry}  \begin{document} test \end{document}   doesn't produce any output, and this is what I see in my error summary screen in TeXnicCenter:    The red arrow points to what seems to be the problem: something about the bundle "oberdiek" and its package "ifvtex" is causing pdflatex.exe (which, while I don't really know what it does, sounds pretty important) to "not be initialized". I , and it's relevance here is a mystery to me.  I've confirmed that all of my files without the geometry package compile just fine; however, that doesn't mean that the problem is with the geometry package - what seems more likely is that there is some hidden cause of the error, and geometry happens to be one way to induce that. By the way, I've tried compiling a document which includes the ifpdf and ifvtex packages separately, and they do just fine; it's only when I include the geometry package (which for some reason requires these ifpdf and ifvtex packages) that the error occurs.  I've tried the only things I can think of:   going into MiKTeX Package Manager (by the way I am using 2.8), and removing + reinstalling both geometry and oberdiek refreshing the file name database ("FNDB") deleting all automatically generated files, as well as simply starting over in a new document   So I'm stuck now. I've considered attempting to just get rid of all traces of MiKTeX and TeXnicCenter from my computer and starting over, but that seems a bit excessive - after all, the geometry package was working for me . I honestly am not sure what I did to cause this; I've spent today trying to make a better template file for myself, and so I've been trying out new packages, but if I'm not loading these new packages there shouldn't be any conflicts, right?   Actually, I've just now thought of something that I think I did between the last time it worked and now, so is a possible candidate for the cause: I had to install some package manually, as it wasn't available on MiKTeX, and so I created a folder and pointed MiKTeX to it (i.e. the second option ). The package didn't do what I wanted, so I deleted the folder and removed it from the list of folders I told MiKTeX to check. Perhaps it's still trying to reach it for some reason?