#xu4@irc.freenode.net logs for 10 Jul 2011 (GMT)

Archive Today Yesterday Tomorrow
xu4 homepage

[01:19:53] --> Dominus1 has joined #xu4
[01:22:34] <-- Dominus has left IRC (Ping timeout: 258 seconds)
[08:45:49] <Darrenor64> The only problem is that the heartbeat timer is out of sync with the projectile frames. So it awkwardly looks like it's moving two tiles at a time. may have to have a separate timer to deal with.
[08:47:11] <Darrenor64> ...And we would have to make a mechanism that draws ONLY what needs to be updated. SDL is meant to be good at this stuff, so it should be ok -- but xu4 isn't used to it.
[09:22:01] <wjp> trying xu4 for the first time in ages, I seem to get a stack overflow in an infinite ImageMgr::getImageFile / ImageMgr::getInfoFromSet / ImageMgr::imageExists calling sequence
[09:22:11] <wjp> (at startup)
[09:22:50] <wjp> but let me try to get the official Ultima 4 download from ultimaforever just in case my data files are weird/non-standard in some way
[09:32:37] <wjp> is this line from the README still true (minus the typo in the filename)? "The zipfile doesn't need to be unpacked, but if it is, xu4 can handle uppercase or lowercase filenames even on case-sensitive filesystems, so it doesn't matter whether the files are named AVATAR.EXE or avater.exe or even Avatar.exe." ? The initial u4fopen("AVATAR.EXE") in main doesn't seem to try lowercase variants
[11:18:44] <Darrenor64> hello.
[11:19:46] <Darrenor64> The README may be old.
[11:20:22] <Darrenor64> try this out: http://sourceforge.net/apps/phpbb/xu4/viewtopic.php?f=1&t=36
[12:11:49] <Darrenor64> Only if you're getting past "AVATAR.EXE" will the game even consider graphics.
[12:12:18] <Darrenor64> The 'improvements' I made to graphics set extension must be causing problems.
[12:13:13] <wjp> I had done some file renaming to get to that stack overflow
[12:13:18] <wjp> (uppercasing everything)
[12:13:44] <wjp> things seem to be working with the .zip
[12:21:01] <Darrenor64> so when you renamed AVATAR, stack overflow?
[12:24:15] <wjp> I should note that this ultima4 directory is really really ancient
[12:24:44] <wjp> so if there's been any incompatible change to how new tilesets are installed in the last 5 years or so, that might well be it
[12:30:07] <wjp> I guess I should just scrap it and go with the zipfiles
[12:38:21] <Darrenor64> where is your ultima4 directory from?
[12:46:52] <wjp> probably the Encore U1-6 compilation CD, with the vga upgrade tiles (a version from 1999) installed on top.
[12:47:17] <wjp> positively ancient :-)
[12:48:19] <wjp> I seem to have used an xu4 version from December 2005 with them :-)
[12:50:18] <Darrenor64> Hmm, things may be a little rigid.
[12:50:43] <Darrenor64> Interesting things happen to an open-source project as the years go by.
[12:51:01] <Darrenor64> "Cool new features"...
[13:10:19] <wjp> it's pretty cool that there's still so much happening on xu4 :-)
[13:34:41] <-- Kirben has left IRC ()
[15:07:24] <Darrenor64> love the game.
[15:10:13] --> NorwegianRockCat has joined #xu4
[15:11:54] <NorwegianRockCat> Darrenor64: You really should never need two timers to do multiple animation, it should be possible to do it all in one go.
[15:11:58] <NorwegianRockCat> Anyway.
[15:12:20] <NorwegianRockCat> I think having something is smarter about updates would be a good thing.
[15:12:47] <NorwegianRockCat> Though there's always something that is being animated (e.g., the cursor), so I'm not sure we would be saving much.
[15:13:59] <NorwegianRockCat> The problem with projectiles is that they are being moved in code independent of the timer...
[15:14:44] <Dominus1> NorwegianRockCat: OT but would it be possible for you to "provision" (or whatever that is called) my iphone and ipad UDIDs to be able to use the ios 5 beta? I think with a developer account you can add beta testers for this
[15:16:26] <NorwegianRockCat> Dominus1: I'm don't think any provisioning is necessary.
[15:16:40] <NorwegianRockCat> Dominus1: If you are a developer, you just download the update and install it.
[15:16:59] <NorwegianRockCat> Dominus1: But the current betas are well... really betas.
[15:17:10] <NorwegianRockCat> Dominus1: you cannot go back to 4.3 if it doesn't work.
[15:17:34] <Dominus1> yes, but only if you are a paying ios developer, which I'm not :) I'm only a paying mac developer :)
[15:17:41] <NorwegianRockCat> Dominus1: I would really advise against installing them unless you have a real reason to try it out.
[15:17:59] <Dominus1> you can go back to 4.3 if you have the blobs saved through cydia or tiny umbrella
[15:18:38] <NorwegianRockCat> OK, but my point is that I don't think I need to do any provisioning...
[15:18:42] <NorwegianRockCat> you just need the beta.
[15:19:07] <NorwegianRockCat> Which, I'm afraid me giving out would be breaking terms...
[15:19:31] <NorwegianRockCat> Sorry :-(
[15:20:26] <Dominus1> for non ios developers, ios developers can provision or so their udids and they are then officially allowed to download and instal the beta
[15:21:08] <NorwegianRockCat> Oh.
[15:21:16] <NorwegianRockCat> Well... OK.
[15:21:17] <Dominus1> without provisioning the udid you can't activate the beta and need to go through some emergency call loop to be bale to use it
[15:21:47] <NorwegianRockCat> Well, I had to provision your device beforehand so you can install xu4 on it.
[15:21:56] <NorwegianRockCat> So, in theory you should have all you need.
[15:22:12] <NorwegianRockCat> Is there a web page or something with this information (just curious)?
[15:22:25] <Dominus1> just trying to find one :)
[15:22:32] <NorwegianRockCat> OK.
[15:22:42] <Dominus1> http://iphoners.org/add-udid-ios-developer-portal/
[15:23:17] <NorwegianRockCat> Yeah, I've already done that for xu4.
[15:23:34] <NorwegianRockCat> You have to do that for stuff to work correctly.
[15:23:41] <NorwegianRockCat> or rather install.
[15:23:41] <NorwegianRockCat> \
[15:23:52] <NorwegianRockCat> That's why the first package I sent out didn't work.
[15:24:00] <NorwegianRockCat> Testflight just helps me facilitate this.
[15:24:22] <Dominus1> I see, thanks, so I can test on my ipad. Thanks
[15:24:54] <NorwegianRockCat> Yup.
[15:24:57] <NorwegianRockCat> Have fun.
[15:25:01] <NorwegianRockCat> :-)
[15:25:12] <Dominus1> :)
[15:25:52] <Dominus1> I was wrong about the "can download the beta" but I'm sure it will fal off a truck in front of my house soon :)
[15:26:11] <NorwegianRockCat> Yeah, well, I figured you would handle that part on your own.
[15:27:57] <NorwegianRockCat> Darrenor64: anyway, returning to the projectile stuff...
[15:28:20] <NorwegianRockCat> We probably need some sort of "state..."
[15:28:45] <NorwegianRockCat> Where the player fires...
[15:28:51] <NorwegianRockCat> the projectile travels...
[15:29:01] <NorwegianRockCat> looking to see if it hits something...
[15:29:18] <NorwegianRockCat> then when it flies too far or hits something...
[15:29:24] <NorwegianRockCat> it continues the combat chain...
[15:30:12] <NorwegianRockCat> But that requires a bit of re-architecting that seems a bit of overkill for the moment.
[15:30:26] <NorwegianRockCat> At least for getting the stuff complete.
[15:37:10] <NorwegianRockCat> Though to me it seems strange that it is running so jerky...
[15:37:59] <NorwegianRockCat> It could be that the wait itself is too long.
[15:39:30] <Darrenor64> Hi.
[15:39:43] <Darrenor64> The solution was simple.
[15:39:59] <Darrenor64> Instead up updating everything and everyone, I just updated the tile in question.
[15:40:04] <Darrenor64> It performs very nicely.
[15:40:18] <Darrenor64> now to read the text above.
[15:42:23] <NorwegianRockCat> Ah!
[15:42:25] <NorwegianRockCat> Well,
[15:42:33] <NorwegianRockCat> That sounds very good.
[15:42:44] <Darrenor64> I agree about not doing the advanced projectile event. I'd like to do this, but maybe version 1.1.
[15:42:52] <NorwegianRockCat> Yeah, exactly.
[15:43:02] <Darrenor64> The animation looks very fluid. I'm happy.
[15:43:07] <NorwegianRockCat> Cool!
[15:43:23] <NorwegianRockCat> Yeah, I mean the animation timer we have should be good enough for the moment.
[15:43:26] <Darrenor64> I'm tempted to sneak in smarter mouse support in 1.0 to enhance the ipad experience.
[15:43:48] <NorwegianRockCat> What sort of extra stuff would you add`?
[15:43:59] <Darrenor64> The animation timer keeps everything stable. The game code currently plops in a tile and then removes it right before drawing in the next.
[15:44:12] <Darrenor64> Mouse Stuff to add -- click on a tile, and you pathfind there
[15:44:36] <NorwegianRockCat> I have thought about adding some smarts to the main playfield to such that taping on the left side moves left, tapping right does the same.
[15:44:42] <NorwegianRockCat> Ohh...
[15:44:43] <Darrenor64> In battle, assign partymember to attack specific target until you stop
[15:44:51] <Darrenor64> err.. until dead or reassigned.
[15:45:06] <NorwegianRockCat> I think that's a bit ambitous...
[15:45:24] <Darrenor64> it is. i suppose it should be targeted appropriately.
[15:45:41] <NorwegianRockCat> It sounds like something more for non-turn-based games ...
[15:45:47] <Darrenor64> perhaps after we've rearranged some of the 'request for input' architecture.
[15:45:54] <NorwegianRockCat> Yeah.
[15:46:03] <NorwegianRockCat> I thought of doing stuff like that too...
[15:46:04] <Darrenor64> all behavior would be turn-based -- except you could define future turn behavior.
[15:46:25] <NorwegianRockCat> Yeah...
[15:46:50] <NorwegianRockCat> I guess I just think that the game really wants you to do one move at a time...
[15:46:54] <Darrenor64> anyway -- i was wondering how easy it is to change the xu4 tilesets and graphics in iOS?
[15:47:04] <NorwegianRockCat> and adding multiple moves may be difficult to get right...
[15:47:14] <NorwegianRockCat> Changing graphics is easy.
[15:47:31] <NorwegianRockCat> if you go into graphics/png
[15:47:43] <NorwegianRockCat> All the tiles are there.
[15:47:54] <NorwegianRockCat> You should be able to just drop in new ones there and things should work.
[15:48:02] <Darrenor64> What if the sizes are different?
[15:48:21] <Darrenor64> So -- does the iOS tile reader merely look in a folder for REQUESTEDTILE.png?
[15:48:35] <NorwegianRockCat> Well, it uses the xml file, but yes :-)
[15:48:37] <Darrenor64> Completely bypassing the xu4 tile systeM/
[15:48:38] <Darrenor64> oh!
[15:48:57] <Darrenor64> ok. so how easy is it to point to the different graphics set as defined on the xml?
[15:49:28] <NorwegianRockCat> well, it's hard coded to use the ALLPNG one for the moment.
[15:49:41] <NorwegianRockCat> i.e., in one of the source files...
[15:49:50] <NorwegianRockCat> but the only loader I made work was the png loader.
[15:49:56] <NorwegianRockCat> So, everything needs to be PNG's.
[15:50:03] <NorwegianRockCat> In theory arbitrary size is possible...
[15:50:05] <Darrenor64> oh, so it gets grumpy about u4 classic files.
[15:50:14] <NorwegianRockCat> Well, I never ported the readers.
[15:50:22] <NorwegianRockCat> It probably isn't too much work...
[15:50:29] <Darrenor64> Ah, i see.
[15:50:38] <NorwegianRockCat> but I just felt that I have a png loader built into iOS, let's just use it.
[15:51:05] <NorwegianRockCat> Basically, those loaders generate an array of bytes, correct?
[15:51:23] <Darrenor64> yes. they make use of the platform agnostic RGBA struct.
[15:51:29] <NorwegianRockCat> It's just a matter of getting that into some sort of format that CoreGraphics would understand.
[15:51:45] <NorwegianRockCat> Ah, so each RGBA is like a uint32?
[15:52:04] <Darrenor64> yes.
[15:52:16] <Darrenor64> or at least, can be easily converted.
[15:52:21] <Darrenor64> or redefined with a macro.
[15:52:30] <NorwegianRockCat> Probably a union :-)
[15:52:48] <Darrenor64> struct RGBA {
[15:52:48] <Darrenor64> RGBA(int r, int g, int b, int a) : r(r), g(g), b(b), a(a){}
[15:52:48] <Darrenor64> RGBA() : r(0), g(0), b(0), a(255){}
[15:52:48] <Darrenor64> unsigned int r, g, b, a;
[15:52:48] <Darrenor64> };
[15:53:10] <NorwegianRockCat> Ah, so each is an int...
[15:53:17] <NorwegianRockCat> probably 0-255?
[15:53:30] <NorwegianRockCat> They could probably be redefined like
[15:53:32] <Darrenor64> functionally, yes.
[15:53:52] <Darrenor64> no 128 bit pixels ;)
[15:53:58] <NorwegianRockCat> heh
[15:54:22] <NorwegianRockCat> Well, anyway I would do it more as one int and then get the bits out specially.
[15:54:32] <NorwegianRockCat> QRGBA was like that, but I digress.
[15:54:41] <NorwegianRockCat> Anyway, if you want to port them...
[15:54:43] <Darrenor64> Thick channels.
[15:54:51] <NorwegianRockCat> the other loaders...
[15:55:00] <NorwegianRockCat> they just need to get the load to do the right thing...
[15:55:11] <NorwegianRockCat> and convert the data to a CGImage...
[15:55:18] <Darrenor64> RGBA is all over the code. Have you been avoiding it?
[15:55:28] <NorwegianRockCat> you can look at imageloader_png_ios.cpp to see what goes on.
[15:55:29] <NorwegianRockCat> No.
[15:55:38] <NorwegianRockCat> I just didn't look at the implementation :-)
[15:56:08] <Darrenor64> it probably wouldn't hurt to convert it to unsigned char for each... but there's no hurry for that.
[15:56:17] <Darrenor64> I'll check ...ios.cpp now
[15:56:22] <NorwegianRockCat> Yeah...
[15:56:30] <NorwegianRockCat> Really, it wouldn't be too difficult.
[15:57:04] <NorwegianRockCat> But, I was thinking at the time, let's just have one good tile set and go with that.
[15:57:30] <NorwegianRockCat> I mean, when the game was released, it wasn't like, let's let the players pick the tile set.
[15:57:41] <NorwegianRockCat> Let's give them a good one and they'll be happy :-)
[15:58:03] <NorwegianRockCat> Now, we have access to 32-bit color and transparency and all that good stuff.
[15:58:27] <Darrenor64> The 'hires' u4 format is actually 32-bit. i was hoping to use some of those tiles.
[15:58:37] <Darrenor64> and replace some of them
[15:58:44] <NorwegianRockCat> You can probably just drop them in if you have each as a PNG file.
[15:58:56] <NorwegianRockCat> The current iOS version is scaling everything up to 32x32.
[15:58:57] <Darrenor64> My current graphics.xml is a hybrid of the best-of tiles that we have.
[15:59:01] <NorwegianRockCat> So, it should just work.
[15:59:03] <NorwegianRockCat> Ah.
[15:59:33] <NorwegianRockCat> You should just be able to change it's name to all PNG and get it without any problems.
[15:59:36] <Darrenor64> so it currently depends on the various formats. although my new custom tiles use png.
[15:59:42] <NorwegianRockCat> Ah.
[15:59:53] <NorwegianRockCat> Yeah, if you have it all as PNG it shouldn't be a problem.
[16:00:24] <NorwegianRockCat> Just drop them in the directory and it's all good.
[16:00:31] <NorwegianRockCat> Well, build it too I guess.
[16:00:34] <Darrenor64> perhaps there is an extractor.
[16:00:46] <NorwegianRockCat> You have one i xu4.
[16:00:58] <NorwegianRockCat> Just when the image is created, call save on it :-)
[16:01:00] <NorwegianRockCat> Presto.
[16:01:07] <Darrenor64> ooh.
[16:01:12] <NorwegianRockCat> That's how I got them out originally.
[16:01:20] <Darrenor64> is there an existing util, or did you modify the source?
[16:01:27] <NorwegianRockCat> Though the SDL version just saves an bmp.
[16:01:35] <NorwegianRockCat> I just put it in the image constructor.
[16:01:39] <NorwegianRockCat> So, modified the source.
[16:01:42] <NorwegianRockCat> :-)
[16:01:51] <NorwegianRockCat> then removed it when I was done.
[16:01:54] <Darrenor64> hah, ok.
[16:02:18] <NorwegianRockCat> As I said the SDL version just does bmp, but a shell script gets you png pretty easily.
[16:03:05] <NorwegianRockCat> There was some other trick I must have used to get each cut out individually, but I don't remember what it was.
[16:03:13] <NorwegianRockCat> I think starting the game did the right thing...
[16:03:54] <Darrenor64> keep in mind though, there are many classic fans whoever who might be interested in the various classic tilesets
[16:04:14] <Darrenor64> currently not urgent though
[16:04:23] <NorwegianRockCat> Right...
[16:04:38] <NorwegianRockCat> but we can always make a gazillion different versions of the apps.
[16:04:51] <NorwegianRockCat> So, that's an easier bridge to cross when we get there.
[16:05:30] <NorwegianRockCat> I suppose we should make version that let's them import tiles from their photo library as well :-)
[16:06:07] <NorwegianRockCat> Anyway, I have to grab something to eat.
[16:08:28] <Dominus1> Darrenor64: did you just add U4 to the SVN?
[16:10:32] <Darrenor64> crap. maybe.
[16:10:47] <Dominus1> yup, all to /temp/ultima4
[16:15:05] <Darrenor64> :( hopefully no one notices.
[16:15:06] <Darrenor64> fixed.
[16:15:19] <Darrenor64> gotta be more careful with my temp ignores.
[16:16:09] <Dominus1> yup, we have now the whole ultima4 in our svn history :(
[16:17:08] <wjp> it _is_ possible to kill revisions if it's important enough
[16:17:26] <wjp> at the cost of some repo trickery and confusing clients who have checked out these revisions
[16:18:11] <Dominus1> if it isn't too much of a problem we shjould think about doing this, after all we had EA after us for offering U4 for download quite recently...
[16:19:17] <Darrenor64> how do i kill a revision?
[16:19:53] <wjp> http://sourceforge.net/apps/trac/sourceforge/wiki/SVN%20adminrepo
[16:20:38] <wjp> specifically "Removing (obliterating) a file or module"
[16:21:03] <wjp> although without the svndumpfilter step, and with an added option to svnadmin dump to only dump revisions up to the add
[16:21:12] <Darrenor64> looks dangerous.
[16:21:18] <wjp> it is
[16:21:31] <wjp> but nothing a backup can't fix
[16:44:23] <NorwegianRockCat> hmm... if you are going to do any SVN admining (which it looks like you need to).
[16:44:34] <NorwegianRockCat> Could you post an "ALL CLEAR" on the IRC here.
[16:44:43] <NorwegianRockCat> so we can start committing again.
[16:44:59] <NorwegianRockCat> I'll hold off on committing anything to make life simpler.
[16:45:08] <Darrenor64> i won't be ready to attempt this for a while.
[16:45:19] <Darrenor64> so feel free to commit.
[16:45:31] <NorwegianRockCat> OK.
[17:05:10] <Darrenor64> ok, I'm almost finished my new allpng variant.
[17:05:27] <Darrenor64> it turns out there was a utility compiled with xu4 that decoded the graphics.
[17:05:31] <Darrenor64> so i got some fresh bmps
[17:37:16] <NorwegianRockCat> Ah, well, just as good :-)
[17:37:30] <NorwegianRockCat> Anyway, I've whipped up a credits view.
[17:37:39] <NorwegianRockCat> but I'll submit it all tomorrow and send out a new build.
[17:37:43] <NorwegianRockCat> Unless you need it earlier?
[17:38:14] <NorwegianRockCat> I just want to check some things first.
[17:38:20] <NorwegianRockCat> Talk to you later.
[17:48:57] <-- NorwegianRockCat has left IRC (Quit: NorwegianRockCat)
[19:50:03] <Darrenor64> Ok, backued up the repo, going to oblitate the material
[20:09:12] <wjp> now that there's a new commit after it, using svndumpfilter to remove the temp/ dir might be easiest
[20:13:57] <Darrenor64> pretty neat tools.
[20:14:05] <Darrenor64> the updated svn repo is being saved.
[20:14:10] <Darrenor64> minus the u4 binaries.
[20:15:54] <Darrenor64> done!
[20:26:40] <wjp> looks good
[20:27:05] <wjp> clients that had r2944 checked out might end up being confused, but hopefully there aren't many of those
[21:30:44] <Dominus1> mine :)
[21:31:47] <Dominus1> let'S see how it likes it :)
[21:33:29] <Dominus1> manually removed the temp folder and updated and it behaved fine :)
[22:28:20] --- Dominus1 is now known as Dominus
[23:15:44] --> Kirben has joined #xu4
[23:15:45] --- ChanServ gives channel operator status to Kirben