0.9.6

Anything else to do with MoM IME
User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

0.9.6

Post by Implode »

I wasn't going to do a 0.9.6 build for quite a while yet until I had more features in it, but Andy III found a game breaking bug so wanted to get this fixed. So I've released what I'd done so far of 0.9.6 on Sourceforge and will do the rest in 0.9.6.1.

Found one problem already, the server and language XML editors are broken, but doubt people use these much so I'll just leave this be and fix it in the next build.

If trying to use the save and reloading games feature, please do see the notes in the readme about this.
User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: 0.9.6

Post by Implode »

FYI found significant bug in 0.9.6 that you can't join multiplayer games (broken because of the depth of changes made to support saving and loading games)
User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: 0.9.6

Post by Implode »

Because of the significant issue that joining games was broken, I've done a 0.9.6.1 build. I've tested creating, joining and loading single and multiplayer games a lot so I think this all works well now. Loading and unloading units into transports (ships and floating islands) and naval combat should also all be working.
HisRotundity
Posts: 1
Joined: Tue Jun 30, 2015 2:31 pm

Re: 0.9.6

Post by HisRotundity »

Hello, I just wanted to say that I've downloaded this and been very impressed by what I've seen thus far. I really loved the original MoM, so the fact that you're continuing to work on this is just delightful. However, I can't for the life of me figure out how to select new research. Is it through the Magic menu? The Spells menu? The Apprentice advisor? None of them seems to be of any help when it comes to selecting research, so I'm unable to end my first turn.
User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: 0.9.6

Post by Implode »

Open up the spell book and flip pages to the right until you reach the unresearched ones. Alternatively if you just want to end turn, hit M and adjust the magic sliders so your research generation is 0. That's just there so its impossible to forget and lose the RP.
User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: 0.9.6

Post by Implode »

Have uploaded 0.9.6.2 onto Sourceforge. This is a pretty big update in order to correct the damage calculations and add in processing all the combat special attacks such as breath attacks, gaze attacks, touch attacks, first strike and haste along with a bunch of more minor changes and fixes. I had wanted to get more pre-work done towards writing the AI but looking at this I realised this (plus other changes) are all dependant on unifying the skill+attributes data model, so I built things as they. That skills+attribute work was always going to be the first thing I did for 0.9.7.0 anyway :)

As always please report any bugs found here. If any are severe enough to be game breaking, I'll try to do a patch for it.
ramillies
Posts: 16
Joined: Wed Sep 02, 2015 12:34 am

Re: 0.9.6

Post by ramillies »

I have one game-breaker bug (sort of) here at my Linux box. It's in fact so game-breaking that the game doesn't start at all.

The routines for loading XSD schemata appear to be the cause. The console output given by the game:

Code: Select all

[2015-09-02 02:48:52.643 INFO main] org.springframework.context.support.ClassPathXmlApplicationContext:510 - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@4cdf35a9: startup date [Wed Sep 02 02:48:52 CEST 2015]; root of context hierarchy
[2015-09-02 02:48:52.695 INFO main] org.springframework.beans.factory.xml.XmlBeanDefinitionReader:317 - Loading XML bean definitions from class path resource [momime.client.spring/momime-client-beans.xml]
[2015-09-02 02:48:52.957 INFO main] org.springframework.beans.factory.xml.XmlBeanDefinitionReader:317 - Loading XML bean definitions from class path resource [com.ndg.multiplayer.client/session-client-beans.xml]
[2015-09-02 02:48:52.983 INFO main] org.springframework.beans.factory.xml.XmlBeanDefinitionReader:317 - Loading XML bean definitions from class path resource [com.ndg.multiplayer.sessionbase/session-common-beans.xml]
[2015-09-02 02:48:53.042 INFO main] org.springframework.beans.factory.xml.XmlBeanDefinitionReader:317 - Loading XML bean definitions from class path resource [momime.common.spring/momime-common-beans.xml]
[2015-09-02 02:48:53.484 INFO main] org.springframework.context.support.PropertySourcesPlaceholderConfigurer:172 - Loading properties file from class path resource [MoMIMEClientVersion.properties]

(... loads of errors as it propagates down to: ...)

Caused by: java.io.FileNotFoundException: /momime.client.config/MoMIMEClientConfig.xsd (No such file or directory)
	at java.io.FileInputStream.open0(Native Method)
	at java.io.FileInputStream.open(FileInputStream.java:195)
	at java.io.FileInputStream.<init>(FileInputStream.java:138)
	at java.io.FileInputStream.<init>(FileInputStream.java:93)
	at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
	at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:622)
	at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:189)
	at com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaParsingConfig.parse(SchemaParsingConfig.java:582)
	at com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaParsingConfig.parse(SchemaParsingConfig.java:685)
	at com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaDOMParser.parse(SchemaDOMParser.java:530)
	at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument(XSDHandler.java:2175)
	... 27 more
The xsd file which is reported to be missing is of course present in the lib/momime-client-0.9.6.2.jar at the /momime.client.config/MoMIMEClientConfig.xsd , so the error is (probably?) somewhere in the code.

To continue with the story: it turns out that it doesn't search for the file in the classpath, but in the filesystem. Since Unix uses / symbols to delimit directories and the root of the filesystem is called /, the string /momime.client.config/MoMIMEClientConfig.xsd is a valid file path. When I create the directory and extract the appropriate file from the JAR, it starts to wail that a XSD schema is missing, but this time, it is the /momime.client.graphics/MoMIMEGraphicsDatabase.xsd file.

I carried on to play this game — read which schema is missing, place it correctly, re-run, rinse and repeat — and it missed a different schema file every time. (I eventually got fed with it, so I can't say if it would run all OK when this problem is corrected.) The other files from the JAR are found correctly, so I think that the error has something to do with loading XSDs.

Sorry for a rather long post. I would love to give a more exact information, but sadly my programming skills do not include Java at all. Of course, if there is any other info which would help, just ask and I can most probably tell you.
User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: 0.9.6

Post by Implode »

Ramillies,

Thanks very much for posting that, since I ported the whole thing to Java I've always said, well I guess it should work on non-Windows systems but I've never tried it, so I was always curious to see if it would actually work or not. Its a bit much for me to set up a Linux partition just for the sake of testing it, and don't really have time to do so (maybe I could just set up a Linux VM within Windows?). I think you're the first person to actually try it.

I believe the problem is just that the XSD constructor has so many variations that its left open to interpretation (by the system) whether that path is an actual disk file or on the classpath, and if I just force it to the right constructor it may fix it... I'll try to have a look at it later.

Thanks,
Nigel.
ramillies
Posts: 16
Joined: Wed Sep 02, 2015 12:34 am

Re: 0.9.6

Post by ramillies »

Well, I will surely try it until it works :). MoM is an amazing game for me as well.

That being said, I almost forgot: it is necessary to use another startup script for the program. I eventually settled on

Code: Select all

#!/bin/bash

java -Xmx1024m -classpath "lib/momime-client-0.9.6.2.jar:$(tr '\\;' '/:' <lib/classpaths/client-classpath.txt)" momime.client.MomClientKickOff client
This is needed because in Unix, we use forward slashes as a path separator, and (my local!) Java wanted to have all things in classpath delimited with colons, not with semicolons. (There is only two magics going on: the $( ... ) construct is replaced with the output of enclosed command, and the tr command replaces all occurences of certain characters with others. In this case, it replaces all backslashes with forward slashes and all semicolons with colons. The < puts the whole file with the classpaths on the input of the tr program.) (And the first line just tells the shell which program to feed the rest of the file.)

So, if you are in the mood to do this kind of nitpicking some day, you may like to add it. Of course, it might or might not work on other Linux systems; someone's Java will maybe have other demands for the classpath delimiter.
User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: 0.9.6

Post by Implode »

Right I expected that too... obviously you can't run the .bat files. If I can figure out a straigthforward Linux distro that I can run via VMware player (any suggestions?) so I can play with it myself, then I do want to have a go at sorting this out properly. I just have to get the first big piece I've been starting on for 0.9.7.0 finished first, so may take a week or more for me to get around to this...

Thanks,
Nigel.
ramillies
Posts: 16
Joined: Wed Sep 02, 2015 12:34 am

Re: 0.9.6

Post by ramillies »

As for the reasonable Linux distro: I'm a little out of insight (I use only one distro for quite a few years now), but I'd say Ubuntu. You can run it without installation (the "live" mode), it comes fairly well-equipped right from the start, and it is (or at least used to be) one of the more popular distros out there, so if you make it work on Ubuntu, there would be a fairly big chance it will be working for a random Linuxman who wants to just play.

In my opinion, the Linux startup scripts could wait until the game is completely done. I could use the .bat files to figure out what to do in order to run the game, and there's a rather high chance that other Linuxmen will be able do that as well. (And when you wait, I can just give you all the hacks I used to make it work after everything is finished — which possibly could save you some long nights.)

Glad to help,
R.
User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: 0.9.6

Post by Implode »

Ramillies,

I've uploaded 0.9.6.3, give it a go, I had this running in Ubuntu, was able to run the server/client/editors, start up a game, move around the map, save and reload games. I didn't try much beyond that but I think it should be fine if that much worked. I had figured what the problem was (causing the file not found exceptions loading the XSDs) so downloaded Eclipse within Ubuntu and set up a mini project to test it out to prove how to fix it. Really the only problem I had was I never did get accessing the hard drives of the Windows box from within the Linux VM to work - when I had a test build done, the only way I could get it inside the VM was to create an ISO of it and put it in the Linux VM's CD drive...

Can you really just not double click .sh files? I had to keep going to the terminal and doing e.g. "sh server.sh" to make it run...

Good luck,
Nigel.
ramillies
Posts: 16
Joined: Wed Sep 02, 2015 12:34 am

Re: 0.9.6

Post by ramillies »

I tried building the city and fighting enemies as well, works very nicely. Also thank you for making separate classpath files and scripts for Linux machines.

I'm only wondering: is there any way to make all the interface larger? Everything is extremely tiny for me (having a full HD display which isn't very large physically). I know that it is possible to zoom the map, but this way, everything else is very small, texts are hard to read and so on.

As for the VM, I'm afraid I cannot help you. It's been ages since I used them for the last time.

And as for the double-clicking, I can't help you any better, since I'm a terminal power-user and the only way of executing any program at my computer is to type its name and parameters into any of the many terminals which are in use here. But I can at least try to do a wild shot: chmod +x {client,server}.sh . (Or use any other means to make sure that you have the rights to execute them.)

R.
User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: 0.9.6

Post by Implode »

Hmm, not really, I have a 30" screen at 2560x1600 so I find it great being able to keep say 3 city screens, spell book, message scroll and everything all open at once, I wouldn't want the interface larger :) Remember the game was designed for 320x200... Making it larger would also mean redrawing all the graphics, which would be a ton of work. At the moment I just use the graphics from the original MoM, and double size them or edit if necessary, but not completely redraw stuff.

And yeah I chmod'd it, still didn't let you just click on the script, it would just open it up in the editor. Doesn't matter anyway, just had a lot to learn, had barely ever tried using Linux before so was interesting :)
ramillies
Posts: 16
Joined: Wed Sep 02, 2015 12:34 am

Re: 0.9.6

Post by ramillies »

The key word here is 30'' :) ... I have something that appears to be a 15.5'' screen at 1920×1080, which makes for 141 dpi, but your screen has only 100 dpi, which means that everything is only 70% of your size on my display. Which can make the text tiny and the units undistinguishable, depending on how well do you see it.

But really, my only problem with it is that the unit icons (for example, on the army panel to the right) are so ridiculously small that I can't really make it out what it is. I agree that it's nice to have many screens opened at once, and I understand the point with original graphics.

If you chmoded it, then I'm sadly out of ideas.

E: Fortunately there is a nice program called xzoom which will enable me to see the unit list in the proper size, although a little boxy.
Locked