[00:00:15] <DarkeWork> wjp: It is? It worked for us previously. Recently too, IIRC. What's the problem?
[00:00:30] <wjp> it freezes after frame 1122 of no regret
[00:00:36] <wjp> shape 1122, that is
[00:00:46] <wjp> sleep is gnawing at my brain, it seems :-)
[00:00:48] <sg1-cashman> how about this wjp
[00:00:52] * DarkeWork 's machine is offline on dialup at the moment, moved to an apartment minus cable. *grin*
[00:01:12] <wjp> :-(
[00:01:46] <DarkeWork> wjp: Odd, I'm pretty sure it 'did' work, 'cause I've got a copy at home that I was looking through the shapes of.
[00:01:48] <sg1-cashman> as you see this is glob 103 when you get the pic
[00:02:04] <sg1-cashman> where there are funny bits thats just the overlapping problem that we all have!!
[00:02:33] * DarkeWork knows it definately works for the No Regret demo anyway, want to try it?
[00:02:36] <wjp> ok, looks good
[00:02:55] <wjp> sg1-cashman: seems like your glob viewer is done :-)
[00:03:00] <wjp> now onto a full map viewer :-)
[00:03:12] <sg1-cashman> yes yes!!
[00:03:34] <sg1-cashman> I will first write the glob viewer so you can look through the glob.flx file
[00:03:48] <sg1-cashman> rewrite the file i/o at the beginning with flex reader.
[00:03:48] <wjp> DarkeWork: 'want to try it?' <-- ?
[00:04:06] <sg1-cashman> good luck guys!
[00:04:15] <wjp> sg1-cashman: did you ever try a more structured language like Pascal/Delphi or C/C++ or Java?
[00:04:30] <sg1-cashman> catch you aroun d- I'll stick in the chat room for the mean time
[00:04:39] <DarkeWork> wjp: Try converting the No Regret Demo's shapes to u8's shapes. That would tell us if it's just a No Regret full version problem, or if it's just broken in the mean time.
[00:04:43] <wjp> using more complex data structures and subroutines/functions will really make this a lot easier to write
[00:04:59] <wjp> DarkeWork: I don't have the No Regret Demo, I think
[00:05:08] <sg1-cashman> umm I tried giving c a go and c++ but I have just stuck with basic! keep going back to basic cause I am quite busy at times and dont have the time to learn a new language at the moment
[00:05:36] <DarkeWork> wjp: It's available online here and there, 11Meg I think.
[00:05:41] <sg1-cashman> if I work stuff out I'll just give you guys a yell and you can convert to c++ for me
[00:05:52] <wjp> it really pays off, though. There's a limit to what you can comprehend when not using a more structured language
[00:06:07] <sg1-cashman> are you guys going to make a website for pentagram ?
[00:06:13] <wjp> pentagram.sf.net :-)
[00:06:14] * DarkeWork started programming in basic years ago. Then QuickBasic, then VB, he really appreciates a well designed language now. *grin*
[00:06:35] * wjp went gw-basic->QuickBasic->VB->Delphi->C++
[00:07:03] <sg1-cashman> well at the moment I am using q and I want to try there new UGL library with svga, sound and mmx -- its made in asmbler
[00:07:40] <sg1-cashman> then I will try another language l8er if I have time
[00:08:16] <sg1-cashman> what c++ tools do you guys use
[00:08:16] <wjp> a text editor and a compiler :-)
[00:08:16] <sg1-cashman> is that because you use linux
[00:08:16] <sg1-cashman> dont you have an IDE
[00:09:17] <wjp> well, there are some but using emacs+gcc seems to work for me
[00:09:53] <DarkeWork> kdevelop, vi, gcc.
[00:09:56] <sg1-cashman> I have gone gw-basic ->bbc mirco ver 2 basic --> qbasic -->quickbasic 4.7 and a little other stuff on the side like scripting
[00:10:19] <sg1-cashman> bbc mirco ver 2 basic was interesting - I use to like that machine very much
[00:10:31] <sg1-cashman> quickbasic 4.5 that is
[00:10:37] <sg1-cashman> for the above
[00:10:43] <sg1-cashman> not 4.7
[00:10:53] <sg1-cashman> there isnt one, did you guys ever use 4.5
[00:11:12] * DarkeWork used it for a time.
[00:11:34] <wjp> yeah, I used QB 4.5
[00:11:40] <wjp> 4.0 first and then 4.5
[00:12:19] * DarkeWork spent most of his basic programming days converting c64/bbc/whatever basic programs to gwbasic, and writing random generators and things in basic. *grin*
[00:13:06] <sg1-cashman> yeah random gens!
[00:14:20] <DarkeWork> Spent most of my C time coding basic game stuff with Allegro, and writing lots and lots of random generators.
[00:14:32] <DarkeWork> C++ was mostly compiler/decompiler work.
[00:21:24] <sg1-cashman> are you guys getting a website put togeather for pentagram
[00:21:36] <wjp> sg1-cashman: pentagram.sf.net
[00:22:05] <wjp> it's not much yet, I know, but there isn't much 'visible' work on pentagram done so far
[00:23:04] <sg1-cashman> true
[00:24:31] <sg1-cashman> has anyone tried contacting Jason Ely again about anything
[00:25:24] <wjp> no, but that's mainly because we have no specific questions to ask
[00:26:24] <sg1-cashman> Hmm I wonder if he could dig up his brain info about drawing surfaces or is info about the asylum format the best you could possibly get out of time
[00:26:27] <sg1-cashman> him
[00:26:55] <wjp> asylum format?
[00:27:28] <sg1-cashman> thats the music format used by crusader! I heard some guys are getting a few code snippets from jason about his format he invented but only a few so far
[00:27:35] <sg1-cashman> .amf files
[00:27:40] <wjp> ah
[00:27:46] <wjp> DarkeWork: do we know anything about that?
[00:28:04] <sg1-cashman> you can play the format with modplug! maybe the modplug guys can tell about the format
[00:28:13] <wjp> modplug?
[00:28:21] <sg1-cashman> modplug.com is a mod tracker
[00:28:31] <wjp> open source?
[00:28:52] <sg1-cashman> I am playing some .amf crusader music right now! before I used to have to use the crusnd tool indos but I can play the music in windows now
[00:29:37] <DarkeWork> (amf) Don't know much about it, other then it's yet-another-mod-type-format. *grin*
[00:29:56] <sg1-cashman> mod plug dont think so but i heard the guys is willing to talk about formats!
[00:30:09] <sg1-cashman> thast if ur interesting in addind aslym supoort!
[00:30:11] <DarkeWork> As to a mention before that not all shapes appear on globs, it's because quite a lot of shapes are swapped in/out using usecode.
[00:30:23] <sg1-cashman> I heard you guys have been working with xmid for u8
[00:30:45] <DarkeWork> Door opening and stuff in specific, IIRC.
[00:31:02] * wjp oooohs!
[00:31:02] <sg1-cashman> are you talking u8 here
[00:31:05] <wjp> http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/modplug-xmms/modplugxmms/libmodplug/load_amf.cpp?rev=1.1&content-type=text/vnd.viewcvs-markup
[00:31:33] <wjp> I guess that mostly solves the sound problem :-)
[00:31:36] <sg1-cashman> owwwss! haha
[00:32:07] <wjp> license: public domain
[00:32:22] <wjp> i.e., we can 'borrow' it if we want :-)
[00:32:48] * DarkeWork ooohs. That makes it much easier.
[00:32:52] <sg1-cashman> yeah if you guys get that working that would be cool
[00:33:27] <wjp> we'll have Colourless take a look at it ;-)
[00:33:47] <sg1-cashman> nice!?
[00:34:39] <sg1-cashman> off to make a glob.flx viewer and work on that map viewer! I have a lot of tha fixed.dat format sorted
[00:35:15] <sg1-cashman> crusader doesnt use a nonfixed.dat so I dont know of yet whats there instead!
[00:35:19] <wjp> we have that documented in our docs/ directory
[00:35:25] <wjp> nonfixed.dat is in savegames in U8
[00:35:25] <sg1-cashman> catch you guys around
[00:35:29] <wjp> see you later
[00:35:34] <-- sg1-cashman has left #pentagram ()
[00:39:09] <-- DarkeWork has left #pentagram ()
[00:53:49] --> Kirben has joined #pentagram
[00:53:49] --- ChanServ gives channel operator status to Kirben
[01:50:36] <-- wjp has left IRC ("Zzzz...")
[11:46:02] --> Colourless has joined #Pentagram
[11:46:02] --- ChanServ gives channel operator status to Colourless
[11:55:18] <Colourless> yes I know the shape converter is broken. it has never been able to get through all the Regret shapes
[11:56:26] <Colourless> i know for sure that i'm something slightly wrong since it is unable to handle many of the crusader globs properly
[11:56:36] <Colourless> it is also unable to work with the mouse shape
[11:59:57] <Colourless> about the amf files, i added a amf2mod converter to cvs some time ago.
[12:00:15] <Colourless> if we convert to mods we can just get SDL mixer to play them
[12:00:24] <Colourless> i don't want to be integrating a mod player in to Pentagram
[12:07:32] <Colourless> the big so far unknown at the moment is the video and compression format of the crusader avi files.
[12:16:26] --> Darke has joined #pentagram
[12:16:55] * Darke pawwaves. Hiya!
[12:17:13] <Colourless> hi
[12:17:27] <Colourless> welcome to my land
[12:17:44] <Colourless> s/land/universe/
[12:19:45] <Colourless> *cough*
[12:19:45] <Colourless> fold.exe - 193 error(s), 16 warning(s)
[12:21:30] <Colourless> time to fix your code :-)
[12:24:31] <Darke> Eh? *blinkie* Sounds like I'm just missing a 'using foo' then. *grin*
[12:25:16] <Colourless> lots of: error C2360: initialization of 'i' is skipped by 'case' label
[12:25:39] <Colourless> a few: error C2259: 'OBufferDataSource' : cannot instantiate abstract class due to following members:
[12:25:47] <Colourless> (no members listed)
[12:25:58] <Colourless> warning C4259: 'void __thiscall ODataSource::write(const void *,unsigned int)' : pure virtual function was not defined
[12:26:50] <Colourless> now i'm at
[12:26:50] <Colourless> fold.exe - 140 error(s), 5 warning(s)
[12:27:02] <Colourless> i'm getting a few of
[12:27:03] <Colourless> warning C4138: '*/' found outside of comment
[12:27:22] <Colourless> but those are being caused by statements like this:
[12:27:23] <Colourless> bool fold(Unit */*unit*/, std::deque<Node *> &/*nodes*/)
[12:28:27] <Colourless> the OBufferDataSource stuff should actually cause an error in GCC as well
[12:28:52] <Colourless> it's got to do with different return types or arguments types of the virtual functions
[12:29:54] <Colourless> the OBufferDataSource::write() method doesn't actually have type as ODataSource::write() but gcc isn't picking it up, while msvc is
[12:32:36] <Colourless> the big problem i'm getting though is:
[12:32:37] <Colourless> error C2086: 'i' : redefinition
[12:33:12] <Colourless> (because you are doing "for (type i = something; i < something; ++i)"
[12:33:18] <Colourless> multiple times in a function
[12:33:28] <Colourless> it's supposed to be allowed, but it causes issues for msvc
[12:35:59] <Colourless> now i'm at
[12:35:59] <Colourless> fold.exe - 38 error(s), 1 warning(s)
[12:37:39] <Colourless> done
[12:37:40] <Colourless> fold.exe - 0 error(s), 9 warning(s)
[12:45:00] * Darke yays.
[12:45:13] * Darke had forgotten that msvc... b0rk3nness.
[12:45:32] <Colourless> of course the program at the moment doesn't do much does it :-)
[12:46:02] <Darke> It would do more, cept I kinda forgot to commit my latest stuff before moving to the new apartment. Too much of a rush. *Grin*
[12:47:20] <Darke> No broadband yet and I've been spending ages trying to get the proxy forwarding working for cvs and stuff.
[12:47:37] * Darke however must disappear now. Night!
[12:47:42] <Colourless> cya
[12:47:46] <-- Darke has left IRC ("*pawwave*")
[13:32:13] --> Nadir has joined #pentagram
[13:59:30] <-- Nadir has left IRC ("Uscita dal client")
[16:29:59] --> wjp has joined #pentagram
[16:29:59] --- ChanServ gives channel operator status to wjp
[16:38:08] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[16:38:46] <wjp> I think we should start taking some actual steps towards a semi-functioning pentagram :-)
[16:38:58] <wjp> step 1: directory structure in the 'new' CVS repository
[16:39:33] <Colourless> :-)
[16:39:34] <wjp> from looking at the current state I think we decided not to use a src/ directory behind the root?
[16:39:44] <Colourless> yeah
[16:40:00] <Colourless> but, very little in the root i think is still the plan
[16:40:04] * wjp nods
[16:40:16] <wjp> we have filesys, graphics, misc so far
[16:40:24] <Colourless> yeah
[16:40:27] <wjp> we'll probably need kernel, usecode
[16:40:39] <Colourless> or they could be combined since they are so linked
[16:40:49] <Colourless> as in a kernel, and kernel/usecode
[16:41:03] * wjp considers that
[16:41:28] <Colourless> or even just in kernel (got to consider how much is actually required for the kernel)
[16:41:41] <wjp> depends on what you consider 'kernel' I guess
[16:41:44] <Colourless> need a gumps dir. It's going to have 'lots' in it
[16:41:51] <wjp> gumps: yes
[16:42:07] <wjp> then something for objects/maps
[16:42:10] <Colourless> a dir for world and object classes
[16:42:13] * wjp nods
[16:42:24] <wjp> audio
[16:42:30] <Colourless> need a name for it though.
[16:42:34] <Colourless> yep need audio
[16:43:15] <wjp> we can follow exult and name it 'objs'
[16:43:19] <wjp> or maybe 'map' or 'world'
[16:43:44] <wjp> hm, on second thought, let's not use 'map'
[16:43:49] <Colourless> hehe :-)
[16:43:56] <Colourless> no, map is a very very bad idea
[16:44:13] <Colourless> world would be ok imo
[16:44:21] * wjp was just copying from the "World/Map classes" header from classes.txt :-)
[16:44:50] <wjp> what about NPCs and more specifically the avatar?
[16:45:01] <wjp> um, that isn't technically correct :-)
[16:45:04] <wjp> s/NPCs/actors/
[16:45:13] * Colourless notes that classes.txt needs some updates
[16:45:38] <Colourless> well, you have the Avatar, NPCs and monsters
[16:45:58] <Colourless> NPCs and monsters are pretty much the same thing, except monsters are 'temporary'
[16:46:07] <wjp> put them all into an actors/ subdir, or maybe world/actors/ ?
[16:46:38] <Colourless> well, where to put AI handling?
[16:46:49] * wjp hmms
[16:47:05] <Colourless> also need to consider combat handling and game physics as limited as they were
[16:47:19] * wjp nods
[16:48:02] <wjp> brb, phone
[16:48:29] <Colourless> k
[16:49:18] <wjp> b
[16:49:31] <Colourless> physics (that be colision detecion and gravity handling) should be in the 'world' dir IMO. That would be the logical place for it since it's doing basic object mangaging related stuff
[16:49:42] <wjp> yes, I was just typing that when the phone rang
[16:50:15] <wjp> how much AI do we need?
[16:50:22] <Colourless> not much
[16:50:41] <Colourless> the AI in the games was pretty basic
[16:51:35] <wjp> I guess AI should probably go with the rest of the actor code
[16:51:44] <wjp> possibly a subdir
[16:52:26] <Colourless> just trying to think how many files are required for each thing. I would think that there isn't going to be many files for things like Actors, AI, and combat. Most of the combat stuff is just going to be lists of weapons and their effects.
[16:53:08] <wjp> heh, they didn't put that in usecode? :-)
[16:53:51] <Colourless> hell no. Weapons in U8 and Crusader are all manually coded. However, i think that 'we' might have plans to but that stuff into usecode since it's all game specific
[16:54:19] <Colourless> at this stage i don't know exactly how schedules in U8 worked (thinks like guard rounds and etc)
[16:54:25] <Colourless> s/thinks/things/
[16:55:06] <Colourless> i would imagine that all combat and ai stuff should just be lumped with actors, since that is when it's used. All spell related stuff in U8 is in the usecode
[16:57:20] <wjp> yes, agreed
[16:57:33] <wjp> question remains where we want to put the actors
[16:57:36] <wjp> world/actors?
[16:57:51] <Colourless> yeah sounds fine to me
[16:58:02] <wjp> I guess they're going to be subclassed from some object stuff in world, so a subdir would probably make sense
[16:58:20] <Colourless> yes... sounds sort of oo :-)
[16:58:29] <wjp> ok, so I've just created: kernel, usecode, world, world/actors, audio
[16:58:37] <wjp> (locally, atm)
[16:59:04] <Colourless> depeneing on exactly how we want to handle the animations from anim.dat, we might want a separate dir for that (if we have 1 class per anim type)
[16:59:05] <wjp> but we were still talking about kernel/usecode
[16:59:15] <wjp> hm, anims, yes
[16:59:32] <Colourless> i don't know. should discuss it with darke and see if he has any input.
[16:59:41] <wjp> anims are very much actor-related
[16:59:50] <Colourless> but not always, but mostly
[16:59:54] <wjp> not always?
[17:00:21] <Colourless> yeah, there are some anims in anim.dat that aren't linked to npcs
[17:00:36] <wjp> really? any idea which ones?
[17:01:10] <Colourless> about 3 or 4 from memory. The guy who gets executed, the creature in the water
[17:01:28] <wjp> ah, right
[17:02:13] <wjp> oh, btw, did you read about my problems with converting crusader (no regret) shapes to u8 format?
[17:02:23] <Colourless> yes, check logs :-)
[17:02:29] <Colourless> ariel servant (not a npc i think)
[17:03:05] <Colourless> necromancer execution
[17:03:21] <Colourless> person on chair reading book
[17:03:41] <wjp> but that's an NPC, isn't it?
[17:03:45] <Colourless> not sure
[17:03:46] <wjp> the jeweler, IIRC
[17:04:30] <Colourless> person on chair at table reading book
[17:04:40] <wjp> hm, ok, from the library
[17:04:48] <wjp> they were pretty inert, I think
[17:04:55] <Colourless> yeah, not exactly npc like
[17:05:19] <wjp> what's 256?
[17:06:29] <Colourless> just a minute, just need to recompile (so i can get console output)
[17:07:20] <Colourless> no idea what it is
[17:10:20] <wjp> looks kind of like a creeper from U7
[17:10:23] <wjp> but anyway :-)
[17:10:36] <wjp> so I guess anims can be played from usecode too
[17:10:41] <Colourless> yes
[17:10:58] <wjp> would that warrant putting anims in a toplevel dir?
[17:10:59] <Colourless> there is an intrinsic function that will play an animation for a specific shape
[17:11:28] <wjp> anims will be kind of interesting to get right
[17:11:35] <Colourless> "Npc::doAnim(AnimSet, short, short, uchar)",
[17:11:38] <wjp> since they seem to be interruptable
[17:11:41] <Colourless> then again, it's for NPCs
[17:11:47] <Colourless> the need to be a 'process'
[17:11:51] <wjp> yes
[17:12:49] <wjp> what kinds of processes are we going to get?
[17:12:50] <Colourless> Usecode function 256 (0x100) (FISH2)
[17:12:56] <wjp> ah, fish :-)
[17:13:19] <wjp> Mythran had some of those in his house, didn't he?
[17:13:33] <wjp> usecode process, animation process
[17:13:41] <wjp> physics
[17:13:52] <wjp> possibly something handling caching
[17:14:19] <Colourless> yes
[17:14:28] <Colourless> my plans have a music handling process
[17:14:47] <Colourless> (to do things like fading in and out of different songs)
[17:14:49] --> Dark-Star has joined #pentagram
[17:15:41] <Colourless> you can see the old/viewer/music_proc.cc for an idea, if you are interested
[17:16:06] * wjp nods
[17:17:22] <Colourless> AI would make sense as a process
[17:17:43] <Colourless> use a simple finite state machine for each creature
[17:17:54] * wjp nods; sounds ok
[17:18:04] <wjp> one process or one per creature?
[17:18:13] <Colourless> one per creature
[17:18:28] <Dark-Star> Hi
[17:18:32] <Colourless> hi
[17:18:33] <wjp> hi
[17:18:46] * Dark-Star thinks multithreading is a good thing :-)
[17:18:57] <Colourless> the AI in the games pretty much just has to handle which animation to play when, since those do all the actual movement
[17:19:22] <wjp> we're going to implement multithreading ourselves :-)
[17:19:33] * wjp nods
[17:19:37] <Colourless> be things like, if previous animation finished, if in combat check to see if near enough to attack. if so, play attack animation
[17:19:41] <Colourless> and so on
[17:19:45] <Dark-Star> wjp: why do it the easy way if there's a *cool* way ?? ;-)
[17:20:12] <Colourless> the attack animation then does a call back to the npc/monster/avatar or whatever to attack with it's current weapon
[17:20:30] * Dark-Star attended a lecture (?) at University about concurrent programming this year...
[17:20:31] <wjp> did the attack animation have a flag or something to signal an 'attack'?
[17:20:39] <Colourless> yes they did AFAIK
[17:20:47] <Colourless> should check our notes on anim.dat
[17:20:52] <wjp> anims are a bit foggy in my memory
[17:20:54] <wjp> yes
[17:21:46] <wjp> hm, don't see anything in there wrt attacks
[17:21:53] <Colourless> no, neither do i, only spells
[17:22:01] <wjp> ugh, annoying
[17:22:08] <Colourless> should re check
[17:22:43] <wjp> didn't animdisp output more info once?
[17:22:57] <Colourless> it did once (or that might have been shpdisp)
[17:23:26] <Colourless> then again, maybe not
[17:25:47] <Colourless> Playing action 7, dir 0
[17:25:48] <Colourless> Frame: 410 dz: 0 ddir: 0
[17:25:48] <Colourless> 02
[17:25:48] <Colourless> Frame: 411 dz: 0 ddir: 0
[17:25:48] <Colourless> 06
[17:25:48] <Colourless> Frame: 412 dz: 0 ddir: 0
[17:25:50] <Colourless> 0A
[17:25:52] <Colourless> Frame: 413 dz: 0 ddir: 0
[17:25:54] <Colourless> 06
[17:25:56] <Colourless> Frame: 414 dz: 0 ddir: 0
[17:25:58] <Colourless> 02
[17:26:00] <Colourless> Frame: 410 dz: 0 ddir: 0
[17:26:02] <wjp> there's definately some flag-magic going on for combat anims
[17:26:02] <Colourless> 02
[17:26:04] <Colourless> that's an avatar attack
[17:26:06] <wjp> I was just looking at that one too :-)
[17:26:36] <Colourless> it would be 'so' nice if there was a binary output format code
[17:26:47] <wjp> the 0x02 is interruptable or maybe on-the-ground
[17:26:51] <Colourless> yes
[17:28:05] <wjp> 40 and 60 don't have anything like this
[17:28:19] <wjp> we flagged those as (possible?) attacks too
[17:28:44] <Colourless> i'll have a look in a sec
[17:28:56] <wjp> but kicking does have 0x06 and 0x0A
[17:30:10] <Colourless> to make things simpler i hacked in some binary printing code
[17:30:18] <Colourless> this is what i get for the action above
[17:30:19] <Colourless> Playing action 7, dir 0
[17:30:19] <Colourless> Frame: 410 dz: 0 ddir: 0
[17:30:19] <Colourless> 00000010
[17:30:19] <Colourless> Frame: 411 dz: 0 ddir: 0
[17:30:19] <Colourless> 00000110
[17:30:21] <Colourless> Frame: 412 dz: 0 ddir: 0
[17:30:23] <Colourless> 00001010
[17:30:25] <Colourless> Frame: 413 dz: 0 ddir: 0
[17:30:27] <Colourless> 00000110
[17:30:29] <Colourless> Frame: 414 dz: 0 ddir: 0
[17:30:31] <Colourless> 00000010
[17:30:33] <Colourless> Frame: 410 dz: 0 ddir: 0
[17:30:35] <Colourless> 00000010
[17:32:08] <Colourless> hmm, 59 and 60 are strange now that i think about it
[17:32:31] <Colourless> 59 would seem to be swinging the weapon attacking, and 60 would be drawing the weapon back
[17:33:46] <Colourless> no idea about 40 though
[17:34:13] <wjp> maybe 40 is blocking
[17:46:56] <Colourless> action 7 i know for sure is an attack
[17:47:35] <wjp> 58 too
[17:49:11] <Colourless> 59 + 60 = blocking
[17:50:53] <Colourless> it actually looks like the same animation is used for attacking with an without a weapon
[17:51:55] <wjp> hm, now that you mention it
[17:52:24] <wjp> ugh, there's some mouse-back-rectangle issues with animdisp, but never mind that :-)
[17:53:40] <Colourless> checking the original game, the avatars animation is the same for with and without a weapon
[17:53:57] <wjp> ok, I guess that makes 0x04 and 0x08 attack-related
[17:53:59] <Colourless> don't move your mouse while animdisp is working :-)
[17:54:31] <wjp> or have the mouse over the image when pressing p :-)
[17:54:48] <Colourless> :-)
[17:55:15] <Colourless> 4 and 8?
[17:55:27] <Colourless> 4 = getting up off the ground
[17:55:38] <wjp> flags 0x04 and 0x08, I mean
[17:55:38] <Colourless> 8 = advance
[17:55:42] <Colourless> ah ok :-)
[17:55:52] <wjp> in 7: 0x04 0x08 0x04
[17:56:08] <wjp> in 58: 0x04 0x08 0x08 0x08 0x04
[17:56:19] <Colourless> yeah
[17:58:50] <Colourless> it appears that everything that can attack has 4 and 8
[17:59:11] <wjp> ok, so let's assume a 'hit' is indeed triggered by an anim flag
[17:59:52] <Colourless> the golem doesn't have 4
[18:00:14] <wjp> interesting
[18:00:41] <wjp> hm, bbl, dinner
[18:00:48] <Colourless> k
[18:01:29] <Colourless> changeling doesn't have 8 :-)(
[18:03:51] <Colourless> annoying stupid little creatures only have 4
[18:06:01] <Colourless> so, one or both of them does 'something' to do with combat
[18:06:13] <Colourless> lets see if there are any other animations that use either of those flags
[18:09:25] <Colourless> demon action 8 has both of them
[18:09:55] <Colourless> action 0 = both
[18:10:06] <Colourless> action 1 = 4
[18:10:47] <Colourless> i strongly suspect that walking in the way of a demon is going to cause damage
[18:23:45] <wjp> we could of course fiddle with the data file a bit and feed the new file to u8
[18:23:57] <wjp> oh, and I'm back, obviously :-)
[18:23:58] <Colourless> no, too logical :-)
[18:24:15] <wjp> true :-)
[18:24:25] <Colourless> hacking the data files to change the avatars shape is interesting
[18:25:11] <Colourless> it crashed when i made the avatar a skeleton and attempted to walk up some stairs
[18:25:59] <wjp> :-)
[18:32:32] <wjp> hm, where was this going again?
[18:32:37] <wjp> oh, right, anim code location
[18:32:59] <Colourless> :-)
[18:33:09] <Colourless> npcs should be ok i think
[18:33:16] <Colourless> actors i mean
[18:34:04] <wjp> I guess the library guests, executed man will be actors
[18:34:14] <wjp> but actors with a particularly limited range of motion :-)
[18:34:19] <Colourless> they are created by eggs
[18:34:38] <Colourless> except for bentic (correct name?)
[18:35:02] <wjp> you can almost envision a typical AI session for the guy: incoming axe. Suggested action: run. 'Run' animation not found :-)
[18:36:11] <wjp> hm, I think I would prefer putting usecode and kernel in separate dirs, btw
[18:36:54] <wjp> with kernel having the main kernel, main thread classes, the save/load core,
[18:37:21] <Colourless> wjp: that would be close to what happens
[18:37:51] <Colourless> example devon, has no attack animation. so he just follows you around when he gets mad :-)
[18:38:05] <wjp> heh :-)
[18:38:31] <wjp> how do we handle input?
[18:38:42] <wjp> oh, come to think of it, where do we put our Application class?
[18:38:44] <Colourless> in what way?
[18:39:21] <wjp> good question
[18:39:24] <Colourless> as in controlling the avatar?
[18:39:27] <wjp> yes
[18:40:04] <Colourless> well, pretty much what needs to be done is for the input to be translated into commands that will activate the animations depending on where the mouse cursor is in relation to the avatar
[18:40:24] <wjp> would this be a separate process?
[18:40:41] <wjp> or something slightly outside of the kernel
[18:40:43] <wjp> ?
[18:40:44] <Colourless> i think it would be a sort of avatar 'AI' process
[18:41:04] <Colourless> but it doesn't have to be
[18:41:40] <Colourless> what was going to happen was the input would be sent through all the gumps that are visible, with the game screen being a gump
[18:42:44] <Colourless> if the input wasn't handled by the time it was time to test the game screen, it is then worked out if it clicked on a item, or if input is for controlling the avatar
[18:43:15] <Colourless> we might need a bit of input 'latency' so we can do double click detection
[18:43:27] <Colourless> (without first activating the single click)
[18:44:18] <wjp> hm, I can't quite remember what happened exactly on the first click of a double click
[18:44:30] <wjp> it ignored the first click?
[18:44:34] <Colourless> yes
[18:44:42] <wjp> annoying :-)
[18:44:46] <Colourless> yep
[18:44:48] <wjp> ah well, minor issue
[18:45:05] <Colourless> it's why u8's controls seem a little slow
[18:45:16] <Colourless> it introduces lag intentionally
[18:45:44] <Colourless> it's not much lag though
[18:45:53] <wjp> so, audio/, kernel/, usecode/, world/, world/actors
[18:45:59] <Colourless> you just hold the issue of a click command till the double click timeout has occured
[18:46:08] * wjp nods
[18:46:25] <Colourless> we should probably have a double click time slider
[18:46:26] <wjp> double-click-timeout-process ;-)
[18:46:36] <Dark-Star> *delurk* I think using a (derived) AI class for Avatar control would be a Good Thing because it would simplify possible multi-player-extensions ;-) *relurk*
[18:46:40] <Colourless> yep, that's the spirit :-)
[18:46:50] <Colourless> Dark-Star: shuppup
[18:47:06] <Colourless> those dirs sound fine to me
[18:47:15] <wjp> /kick Dark-Star not the M word!
[18:48:03] <wjp> right, I guess I'll commit them then :-)
[18:48:29] <wjp> oh, wait, didn't talk about the 'Application' class yet
[18:49:13] <wjp> maybe put that in kernel?
[18:49:19] <Colourless> yes, what exactly to do with that
[18:49:32] <Dark-Star> no separate video/ directory? will rendering etc. be done in the kernel or where?
[18:49:36] <wjp> I don't really want to put it in the main dir, although it is a possibility
[18:49:43] <wjp> Dark-Star: there's already a graphics/ dir
[18:49:51] <Colourless> no, i don't think main dir is a good place
[18:49:51] <Dark-Star> oh ok, sorry :)
[18:49:55] <wjp> other alreay existing dirs: filesys/, misc/
[18:49:59] <Colourless> kernel would be fairly logical
[18:50:12] <wjp> oh, and convert/, tools/
[18:50:34] <wjp> I guess the main dir will contain one .cc file? pentagram.cc?
[18:50:35] <Colourless> as it is part of the most low level components
[18:50:46] <wjp> and probably some headers too
[18:50:48] <Colourless> tsk tsk, .cpp remember ;-)
[18:50:56] <wjp> oh, right
[18:51:07] <wjp> you might want to remind me a couple of more times :-)
[18:51:28] <wjp> we were going to use .h for headers I hope? :-)
[18:51:36] <Colourless> yes, .h
[18:51:44] <Colourless> just look at what darke and i have already been doing
[18:52:05] <Dark-Star> why not tools/convert? the converter is a tool, isn't it?
[18:52:06] <Colourless> yeah a pentagram.cpp that contains int main(int argc, char**argv);
[18:52:18] * Dark-Star is a little annoying today :-)
[18:52:27] <Colourless> no, convert is a set of classes to help do conversion
[18:52:34] <Colourless> it will be integrated into pentagram itself
[18:52:50] <Dark-Star> hmmm
[18:52:55] <wjp> although things like tools/shapeconv also use them
[18:53:14] <Dark-Star> filesys/convert?
[18:53:16] <Colourless> yeah, and disasm and fold too at the moment
[18:53:25] <Dark-Star> it converts files, doesn't it?
[18:53:33] <wjp> there's no filesys/convert
[18:53:51] <wjp> filesys contains file access functions
[18:54:07] <wjp> hm, what about file classes?
[18:54:09] <Dark-Star> no, I thought why not put it there? because it's a file format converter so it has sth. to do with the file system...
[18:54:11] <wjp> things like Flex
[18:54:29] <wjp> Dark-Star: it's more of a tool than something related to files
[18:58:29] <wjp> oh, I missed gumps/
[18:58:40] <Dark-Star> How're you going to implement threads? Start from scratch (is that possible anyway?) or only create wrapper classes around pthread or pth?
[18:59:06] <Colourless> threads, or processes as we call them, well be implemented entirely by us
[18:59:30] <wjp> that means we'll have a Thread class, which has a Run() function (names may vary)
[18:59:49] <wjp> it'll be cooperative multithreading, btw
[18:59:58] <wjp> so the Run() function has to 'play nice' :-)
[18:59:58] <Colourless> each process has to yield it's own execution and save it's state
[19:00:11] <Dark-Star> aah that clarifies things a lot
[19:00:13] <Colourless> for the usecode interpreted processes that is automatically handld
[19:00:53] <wjp> Colourless: gumps/ dir was also needed right?
[19:01:00] <Colourless> yes it is
[19:01:01] <Dark-Star> why not use pthreads or something? just to show that you're able to do it yourself? I think pthreads would be easier to code/implement...
[19:01:13] <wjp> we'd get into race-condition-hell
[19:01:16] <Colourless> the engine will also have very strict timing, so you can assume that Thread::Run() or what ever is called will run at exactly every 20Hz
[19:01:34] <Colourless> s/20Hz/50ms/
[19:01:45] <Colourless> (wrong context for use of Hz)
[19:02:23] <Colourless> if we were going to use native threads, we would need to implement locking on the game world and all the objects
[19:02:27] <Colourless> not a nice thing to do
[19:02:51] <Dark-Star> Colourless: well, you could serialize access to the game world through some sort of queue or something...
[19:03:46] <wjp> that sounds more complicated and error-prone than implementing some basic threading ourselves
[19:03:53] <Colourless> that... would be nasty as hell to impliment
[19:04:43] <Dark-Star> hmm... I found it the most convenient way. I needed it to program a robot control software at University. For me it worked well...
[19:05:34] <Dark-Star> I imagine that the thread thunks (or whatever they're called) are being complicated by the state saving stuff... i.e. you can't do loops and stuff without a yield() call
[19:06:17] <Colourless> you need to rethink your code then.
[19:06:27] <Colourless> or use usecode
[19:06:55] <Dark-Star> hehe no problem, I'm still learning, so maybe I can learn something from pentagram :-)
[19:07:02] <wjp> were we going to preempt usecode?
[19:07:17] <Colourless> no, but it's an interesting idea
[19:07:37] <wjp> I'd expect the original not to have it
[19:07:44] <Colourless> preempting it might screwup the usecode for the original games
[19:07:55] <wjp> might be nice to be able to set a thread to preemptible
[19:08:01] <Colourless> however, we could allow it to conditionally preempt code we write
[19:08:09] <Colourless> yes :-)
[19:08:09] <wjp> exactly :-)
[19:08:54] <Colourless> you could even conditionally turn off and on the ability of a thread to be preemptive while its' running
[19:09:33] <Colourless> you would do that to ensure that a section of code will run all at the same time (for instance a loop)
[19:09:46] <wjp> yeah
[19:10:11] <wjp> anyway, something to keep in mind :-)
[19:11:03] <Colourless> yeah, not sure how useful it would be
[19:11:15] <Colourless> i don't see us creating any huge functions in usecode
[19:12:58] <wjp> step 2: populate new directories with files :-)
[19:13:19] <Colourless> that is the slow part :-)
[19:13:29] <wjp> touch Kernel.cpp
[19:13:36] <wjp> cvs add Kernel.cpp
[19:13:40] <wjp> cvs commit Kernel.cpp
[19:13:42] <wjp> done :-)
[19:14:10] <Colourless> yeah now work out every other file we need
[19:14:24] <wjp> seriously though, we should get a basic framework in place
[19:14:37] <Colourless> remember 1 class per .cpp file
[19:14:38] <wjp> kernel, basic thread classes would be nice
[19:14:39] <wjp> yes
[19:14:51] <wjp> with the .cpp named after the class (with proper caps :-) )
[19:14:55] <Colourless> yes :-;)
[19:15:36] * wjp takes a peek at the kernel code in old/
[19:16:04] <Colourless> it's nothing special and could be improved
[19:16:05] <-- Colourless has left #Pentagram ()
[19:16:12] --> Colourless has joined #pentagram
[19:16:12] --- ChanServ gives channel operator status to Colourless
[19:16:20] <wjp> wb :-)
[19:16:44] <wjp> nothing special sounds like a good start, though
[19:16:47] <Colourless> i pressed some key combination by accident. had happened before :-)
[19:17:14] <Colourless> s/had/has/
[19:17:22] <Colourless> i don't know what the key combination is :-)
[19:17:27] <wjp> heh :-)
[19:17:38] * wjp notices it's named PentagramKernel in old/
[19:17:55] <wjp> go with Kernel?
[19:18:15] <Colourless> should be ok.
[19:18:51] <wjp> I don't really like tagging Pentagram in front of everything :-)
[19:19:00] <wjp> we can always use namespaces if it proves necessary at some point
[19:19:19] <Colourless> i honestly don't think that a std::set is the right thing for the list of active processes
[19:19:24] <wjp> agreed
[19:19:37] <wjp> list?
[19:19:58] <Colourless> but i can't remember why i decided to use a set in the first place
[19:20:16] <Colourless> i guess so
[19:21:14] <wjp> what exactly do ticks and framenum do?
[19:23:05] <Colourless> ticks is the time in ms of the call (the result of a call to SDL_GetTicks()) and framenum is the value of the frame number counter which is incremented every time Kernel::RunProcesses() is called
[19:23:19] <Colourless> i am unsure if either is actually required
[19:23:29] <Colourless> (as args)
[19:23:52] <Colourless> timing in general should not be based on the MS time, but instead on the framenum
[19:24:20] <Colourless> and RunProcesses() could increment the number anyway
[19:24:57] <Colourless> we could also have a Kernel::GetFrameCounter() (or some such) to get the framenum value
[19:25:06] <wjp> process_active is something like runnable I guess?
[19:25:29] * wjp thinks about ticks/framenum a bit
[19:25:45] <wjp> how about going with passing framenum as an argument and leaving out ticks?
[19:25:53] <Colourless> that's fine
[19:25:58] <Colourless> process_active means that the process is in the 'list' of processes that will be run
[19:26:48] <wjp> hm, when would processes become inactive?
[19:26:52] <Colourless> AddProcess() sets the flag and RemoveProcess() clears it
[19:27:21] <wjp> ok if I change process_active to active?
[19:27:58] <Colourless> well, it doesn't do much. It just allows you to easily know if a process has been added
[19:28:05] <wjp> k
[19:28:27] <Colourless> you will notice that it's not actually used anywhere in the pentagram old stuff.
[19:29:17] <Colourless> i use it in a test program i've got here and i didn't want to have to search through all the active processes to see if a process was active
[19:30:18] * wjp nods; good enough for me :-)
[19:31:04] <Colourless> it also allows an easy was to stop a process from being added twice (despite me not implementing that optimization yet)
[19:31:29] <wjp> ooh, we already have two different function-naming styles in the old kernel.h :-)
[19:31:40] <wjp> is_active() and AddProcess() :-)
[19:32:15] <Colourless> one is being used access a member variable, the other isn't ? :-)
[19:32:35] <wjp> while technically true, that's not very convincing ;-)
[19:34:25] --> Darkstar2 has joined #pentagram
[19:34:58] <wjp> any preference? (and do we even care?)
[19:35:50] <Colourless> i think darke and i decided as long as each file is consitent
[19:35:55] <Colourless> then it doesn't matter
[19:36:04] <Colourless> same with brace style
[19:38:26] <Colourless> however, you will note that darke in some spots has been doing the CapsForMethods that do something substantial, and lowercase_and_underscore for methods that do things to a single variable. The variables also use lowercase_and_underscore
[19:39:51] <Colourless> in the end, i really don't care exactly, just try to be consistent per file :-)
[19:40:41] <wjp> good :-)
[19:41:19] <Colourless> just NO hungarian notation :-)
[19:41:33] <wjp> I think I'll be able to resist doing that :-)
[19:41:45] <Colourless> and no ALLCAPSWITHNOTHINGBETWEENWORDS
[19:41:57] <wjp> SUREICANLIVEWITHTHAT
[19:43:30] <wjp> oh, one thing I do want to standardize: do we use spaces or tabs for indenting?
[19:44:00] <wjp> I don't really care either way, but I hate mixing them
[19:44:40] <Colourless> szWe lpvWouldnt bMake wGood wcWindows dwProgrammers
[19:44:58] <wjp> what a pity :-)
[19:44:59] <Colourless> tabs is my preference of size 4
[19:45:08] * wjp nods; same here
[19:45:39] * Darkstar2 votes for spaces as indenting char, but he thinks his opinion won't count much :-)
[19:45:45] <Darkstar2> Darkstar2??
[19:45:49] <Darkstar2> who did *that*??
[19:45:54] <wjp> yes, there are two of you
[19:46:20] <-- Dark-Star has left IRC (Killed (NickServ (Ghost: Darkstar2!Darkstar@pD9E657B8.dip.t-dialin.net)))
[19:46:26] <Colourless> i guessing you got dropped :-)
[19:46:27] --- Darkstar2 is now known as Dark-Star
[19:46:49] <Dark-Star> aah much better ...
[19:46:58] <Colourless> freenode is really slow at detecting 'ghosts'
[19:47:13] <Colourless> i.e. it takes about 2 hours sometimes :-)
[19:47:24] <wjp> :-)
[19:48:17] <wjp> eek, name clash
[19:48:31] <wjp> I named Process Process, but Process also has a member function Process
[19:48:56] <wjp> how about Run?
[19:49:05] <Colourless> fine for me
[19:49:17] <wjp> what exactly is the return value, btw? state changed?
[19:49:29] <Colourless> screen nees to be repainted
[19:49:33] <Colourless> s/nees/needs/
[19:49:35] <wjp> hm, k
[19:49:39] * wjp adds comment
[19:49:44] <Colourless> not optimal
[19:50:24] <Colourless> dirty region detection will be automatic
[19:51:19] <Colourless> you don't want to have to repaint the screen and workout the dirty rectangle if nothing has changed
[19:52:09] <Colourless> but thinking about it we might have to do that anyway
[19:52:36] <wjp> meta-stuff: use a config.h like exult? and where do we get the integer types from?
[19:53:01] <Colourless> misc/pent_include.h
[19:53:16] <Colourless> it will include config.h
[19:53:27] <Colourless> and define the integer types
[19:53:30] <wjp> ah, ok, so just include that at the start of every .cpp
[19:53:37] <Colourless> yep
[19:53:50] <Colourless> and it will include and define a variety of other useful things too
[19:54:18] <Colourless> such as define the pout and perr streams
[19:54:31] <wjp> oh, right
[19:54:52] <wjp> so the "adding process" debugging output should go to pout?
[19:55:24] <Colourless> yes, but you probably want that commented out :-)
[19:55:38] <wjp> sure, but even things commented out should be correct :-)
[19:55:48] <Colourless> yes indeed
[19:56:05] <wjp> even use POUT(), I guess
[19:56:09] <Dark-Star> why not add a "plog" stream for debugging output? That would make it possible to set a run-time loglevel or something...
[19:56:28] <Dark-Star> plog << debug(5) << "Some debug info" << endl;
[19:56:43] <Dark-Star> something like that?
[19:56:44] <wjp> yes, I've been toying with that idea since Dancer mentioned it a while back
[19:56:57] <Colourless> we can easily enough do it
[19:58:28] <Colourless> we wouldn't even have to create a plog stream. we could just add it to perr if we wanted
[19:58:46] <Colourless> but it might cause issues in perr
[19:59:05] <Dark-Star> why not add it to pout then?
[19:59:33] <Colourless> no what i mean is if someone forgets to reset the debug level :-)
[19:59:45] <Dark-Star> oh ok ...
[19:59:51] <Colourless> what we could do is have a PLOG macro that will automatically reset the level
[20:00:07] <Colourless> it will then be compiled out on release builds
[20:00:32] <Colourless> you don't want to have excess output being generated and then discarded in a release build
[20:00:38] <Dark-Star> then make debug(x) return a string like "<x>" and pout only checks for the first 3 letters in each line to find the debug level and reverts it to normal afterwards
[20:01:23] <Dark-Star> so that 'pout << debug(5) << "some info" << endl' does 'pout << "<5> some info" << endl;'
[20:01:53] <Colourless> that is limiting to what you can do
[20:02:27] <wjp> debug(5) should return some abstract type
[20:02:30] <Colourless> you should do something like pout << debug(5) << "some info " << a_number << ":" << another_number << std::endl;
[20:02:40] <wjp> and overload << with that type
[20:02:43] <Dark-Star> hmm... then redefine "endl" to reset the debug levels :-)
[20:03:04] <Dark-Star> maybe "pendl" or something *g*
[20:03:05] <Colourless> also, problematic, you may want to have multiline debugging info :-)
[20:03:24] <Dark-Star> ok, then you would have to prepend each line with debug(x)...
[20:04:01] <Colourless> i think using a macro would be sufficent, because as I stated before, it's an optimization for release builds :-)
[20:04:05] <Dark-Star> or make an "endd" function (for "end debug") and do perr << debug(5) << "Line 1" << endl << "Line 2" << endd;
[20:05:20] <Colourless> hey. wjp you made an error in the code you committed :-)
[20:05:25] <wjp> no doubt :-)
[20:05:30] <Colourless> in class Kernel you have bool RunProcesses(uint32 ticks, uint32 framenum);
[20:05:38] <wjp> oops
[20:05:46] <wjp> umm, I mean
[20:05:54] <wjp> it's just to get our SF activity rating up!
[20:06:26] <Colourless> now, do not commit anything about graphics, or shapes, or map objects, or globs or anything like that :-)
[20:06:43] <Colourless> it's all going to change :-)
[20:07:18] <Colourless> anyway, i've got to be going
[20:07:20] <Colourless> cya
[20:07:25] <wjp> g'night
[20:07:29] <Dark-Star> bye
[20:07:37] <-- Colourless has left IRC ("casts invisibility")
[20:47:31] * Dark-Star needs to reboot.. bbl...
[20:48:11] <-- Dark-Star has left #pentagram ()
[21:05:14] --> Dark-Star has joined #pentagram
[21:51:24] --> Dominus has joined #pentagram
[21:53:26] * Dominus is reading up on the latest logs
[21:54:32] * wjp is battling make atm
[21:54:44] <Dominus> ugh
[21:54:46] <wjp> for some reason it's insisting on trying to load a directory as a Makefile
[21:54:54] <Dominus> he
[21:54:55] <wjp> which is obviously failing
[21:56:01] <wjp> and I really don't see how the line that's causing the error could cause it to happen
[21:57:15] <wjp> for some mysterious reason, $(wildcard $(LPATH)/$(DEPDIR)/*.d) is being transformed into 'world'
[21:57:28] <wjp> where LPATH=world, DEPDIR=.deps
[21:57:36] <Dominus> after battling half the day with my hd/memory and the other half buying xmas presents with my gf for her daughter nothing can surprise me anymore...
[21:58:35] <Dark-Star> Dominus: strange, I had memory problems too, lately, and I still don't know if my HD is failing too (replaced bad mem but still get fs corruption)
[21:59:59] <Dominus> I'm really confused why it suddenly started. my big suspects are badly coded 3rd party video drivers (?), badly coded symantec products or the new version of Total Commander (former Windows Commander)...
[22:00:56] <Dark-Star> Dominus: in my case it was really faulty RAM. The funny thing is that the computer worked flawlessly, on Win and Linux, with the bad RAM. Only chkdsk barfed alot on boot that's why I suspected the HDD first...
[22:01:25] <Dominus> hmmm
[22:01:59] * Dominus tries to remember some funky memory check up program
[22:02:35] <Dark-Star> memtest86
[22:02:42] <Dark-Star> www.memtest86.org or something
[22:03:05] <Dark-Star> it's www.memtest86.com
[22:03:25] <Dominus> googled and found it
[22:04:01] <Dominus> wow, iso for bootable mem test
[22:04:08] * Dark-Star is lucky owner of SuSE Linux, it comes with memtest86 installed in their CD bootmenu
[22:10:27] <wjp> gah, that was stupid. Some of the lines in the makefiles had trailing spaces causing a lot of confusion :-)
[22:11:00] <Dominus> good
[22:11:06] <Dominus> bbl
[22:11:16] <Dominus> going to try memtest now
[22:11:21] <-- Dominus has left IRC ("enough for now")
[22:18:59] --> Darke has joined #pentagram
[22:20:47] <wjp> hi
[22:21:32] * Darke pawwaves. Greetings.
[22:21:36] * Dark-Star tries hard to program polynom division in c++...
[22:21:38] <Dark-Star> hi
[22:22:15] <wjp> hm, that would be mildly annoying :-)
[22:22:29] <wjp> polynomials over which ring?
[22:22:44] <Dark-Star> F_2 (binary)
[22:22:52] <Dark-Star> it's a simple bitset<16>
[22:23:11] <Dark-Star> but it's the first time I try to do sth. like that in a language other than scheme :-)
[22:23:13] <wjp> F_2 makes life a little easier here :-)
[22:23:29] <Dark-Star> scheme is sooo much easier for stuff like that
[22:23:46] <wjp> I guess if you wanted to write unreadable code you could do it with some bitshifts and xors
[22:24:37] <wjp> Darke: I actually committed something today! :-)
[22:24:52] * wjp looks at pentagram-cvs mailbox
[22:24:52] <Dark-Star> wjp: yes, that's exactly what it boils down to I think. But I try to gain a little c++ practice so I'll write a little more code for readability
[22:24:59] <wjp> I actually committed rather a lot today :-)
[22:25:22] <wjp> (not that it does much ;-) )
[22:28:29] <wjp> *sigh*, I should go
[22:28:31] <wjp> g'night
[22:28:36] <-- wjp has left IRC ("Zzzz...")
[22:30:12] --> Dominus has joined #pentagram
[22:30:49] <Dark-Star> memory OK?
[22:30:53] <Dominus> well it seems like my memory is bad :-(
[22:31:16] <Dominus> in the first three tests 500 errors
[22:31:21] <Dominus> 5000
[22:31:39] <Dark-Star> well, that's exactly what I experienced here...
[22:31:55] <Dark-Star> 200 errors in the first 10 seconds or so :)
[22:32:03] <Dominus> yeah
[22:32:32] <Dominus> when the fourth test started out with 350 in the first 4% I decided to face the facts
[22:33:05] <Dark-Star> what's stunning about that is that windows and linux seem to run pretty well regardless of the errors...
[22:34:47] <Dominus> I'm considering moving my mem to another slot (I can't even remember if I have one 512MB piece or two 256MB...
[22:35:50] <Dominus> but that really sucks
[22:36:23] <Darke> wjp: (commit) Yay! Shape I won't be able to look at it until I get my proxy stuff working. Ick.
[22:36:23] <Dominus> but thanks for pointing me to memtest86
[22:36:24] <Dark-Star> After I removed the bad 256mb module (leaving me with only 128 mb) and putting in a new 256 mb module, my computer wouldn't even POST. It turned out that the memory modules were incompatible, so I had to get another 256mb... that sucked too...
[22:36:41] <Dominus> ugh
[22:37:18] <Dominus> hi Darke
[22:37:43] <Darke> Hi.
[22:38:24] <Darke> Dark-Star: My sympathies. Bad ram is... not good. *grin*
[22:38:38] <Dominus> nice fact: I have bid on a Ultima Underworld PSX auction on Ebay for which the seller set a reserve. Of course the reserve was not met and even though I was the highest bidder I didn't get the game :-(
[22:39:03] <Dominus> After I contected the guy it turned out he wants at least $130.00 (US)
[22:39:04] <Darke> Dominus: Ick.
[22:39:16] <Darke> Dominus: *boggle* Umm... riiiiight.
[22:39:56] <Dominus> that's way too much
[22:40:19] <Dark-Star> Ultima Underworld was ported to PSX?
[22:40:24] <Dominus> yup
[22:40:53] <Dark-Star> is it worth it? I mean does it have hardware-accelerated graphics or nice particle systems or something? ;-)
[22:41:09] <Dominus> the npcs seem to be nicer
[22:41:41] <Dark-Star> The plot is the same? or is it crippeld like Ultima 7 for SNES?
[22:41:44] <Dominus> there is a link to a small demo movie of it on the uwadv pages I think
[22:42:16] <Dominus> Dark-Star: well, as it is in japanese not much is known about that :-)
[22:44:16] <Dark-Star> Dominus: Hmm... I've never played it but I thought it was in englisch ...
[22:44:34] <Dominus> no, I mena the psx port is in japanese
[22:44:41] <Dominus> mena=meant
[22:46:17] <Dark-Star> Dominus: ah ok I thought you meant the SNES port...
[22:50:46] <Dominus> Darke: as I said the other day, I now installed Open-Office and instantly replaced my Office XP with it (even though OO starts a bit sluggish)
[22:51:42] <Dominus> only dislike is that they give few choices on installing, especially regarding designs, media files, help files and such
[22:52:19] <Dominus> that is on the precompiled-package with installer that you can download
[23:01:45] <Darke> Dominus: Cool. *grin* I just installed the whole thing anyway.
[23:02:05] <Dominus> I hate bloat (hat's why I'm using Windows :-))
[23:28:18] <Dark-Star> 24. scamp / vacuum^beastie toys
[23:28:24] <Dark-Star> sorry
[23:28:24] <Dark-Star> wrong window :)
[23:42:10] * Darke snickers.
[23:42:53] <Darke> Dominus: Of course! All those who hate bloat use windows! After all, it's the most slim and fast operating system around!
[23:51:06] <Dominus> he he
[23:51:27] <Dominus> I was just amazed that there was not an option for "ultra-slim" install
[23:51:40] <Dark-Star> need to go. see ya
[23:51:44] <Dominus> bye
[23:51:53] <-- Dark-Star has left #pentagram ()