IRC logs for #opendune on OFTC at 2009-09-11
⏴ go to previous day
06:14:56 <Xaroth> 17 views, 0 replies so far
09:25:53 <TrueBrain> haha, sometimes I love replies of people .. :)
09:29:06 <TrueBrain> the other part amuzed me more :)
09:29:31 <TrueBrain> like walking up to someone who is fixing the engine of your car and saying: well, this can't be so hard? Why aren't you done yet? Pffffffff
09:30:38 <TrueBrain> on a dune2 forum we announced opendune :)
09:31:14 <TrueBrain> and the first reply to MarkJ gets the point :)
09:31:55 <Xaroth> TrueBrain: my response: Re: Legal question, all I can say at this point is that we've contacted the involved parties about our concept, and none at this point have objected to it
09:32:15 <Xaroth> 100% totally NOT related answer :P
09:35:28 <TrueBrain> [11:31] <TrueBrain> and the first reply to MarkJ gets the point :)
09:36:01 <Xaroth> the point of totally not knowing wtf he's on about? :P
09:36:33 <TrueBrain> Nyerguds says too: nobody knows who holds the copyright :p
09:36:38 <TrueBrain> that made me laugh :)
09:37:16 <Xaroth> it makes me cry a little, as it's true.. even the company who absorbed the original companies doesn't know who has the rights to it :P
09:37:58 <TrueBrain> it makes me very sad
09:38:04 <TrueBrain> oh well .. I still have a legal request pending :)
09:38:18 <TrueBrain> they are doing the papertrail in Lyon atm
09:38:42 <Xaroth> yeh, but by the time that's done we'll be completing version 2.0.1
09:38:51 <Xaroth> and yes, note the lack of 0 in front :P
09:39:14 <TrueBrain> don't be too sure about that :)
09:39:44 <Xaroth> yer talking about EA :P
09:39:58 <Xaroth> you've seen what they sent to tpb :P
09:40:28 <TrueBrain> there, porsted a reply :)
09:41:41 <Xaroth> overlays kill the brain and the fun ^^
09:42:34 <TrueBrain> but okay, I am not a big fan of discussing such things on other forums .. I rather have it on the forum that matters :p
09:42:59 <Xaroth> if they want to discuss, they should come to us, we shouldn't go to them
09:43:04 <Xaroth> unless we -REALLY- want to.
09:43:35 <TrueBrain> either way ... I still don't get why the overlay returns 2 bytes in offset from the call ....
09:43:59 <Xaroth> can you see what those 2 bytes indicate?
09:44:23 <TrueBrain> well, it looks like the 'call blabla' is rewritten to a 'return' or something of the like
09:44:51 <TrueBrain> it is doing that, yes
09:45:07 <TrueBrain> it is one of the hardest things to work with
09:45:14 <Xaroth> nsz: hence why i said it kills the brain, seeing my brains are fried by trying to understand TrueBrain :P
09:45:38 <TrueBrain> the main problem about code that changes itself, is that 'time' now is a dimension in your code
09:47:47 <TrueBrain> 3 functions on the same cs:ip pair, with different content
09:48:06 <TrueBrain> the last 2 are the overlay loaded at a different place, the first is him calling the overlay (int 0x3f call)
09:48:25 <TrueBrain> hmm .. of course ...
09:48:36 <TrueBrain> say I want to call a piece of code, in the world of overlays
09:48:45 <TrueBrain> I put the function I want to call in some register, I call the overlay manager
09:49:05 <TrueBrain> he figures out where the function is, loads it in memory, rewrites my int 0x3f (call to overlay manager) to the direct call of that function
09:49:14 <TrueBrain> now it returns to that position, and tada
10:04:16 <Xaroth> er, you lost me at overlay manager, but it sure sounds like you figured it out?
10:04:40 <TrueBrain> I just now understand why those jumps are weird :p
10:06:52 <Xaroth> TrueBrain: So the 2b offset is actually a 'feature' rather than missing data?
10:07:41 <TrueBrain> it is the way the overlay stuff works
10:10:00 <TrueBrain> so if I read this correctly, in the main executable there is a table of all overlay entry points
10:10:15 <TrueBrain> now when that happens, int3f makes that code a jump for the time the overlay is loaded
10:10:26 <TrueBrain> so any sequential calls don't trigger an overlay load, but directly go to the code
10:10:37 <TrueBrain> I can only guess that when an overlay is unloaded, it rewrites it to int3f again
10:11:22 *** peroyvind has joined #openDune
10:11:51 <peroyvind> hm, no source available yet?
10:13:20 <TrueBrain> locally it runs just fine :) Just I need to fix a final problem before I want to release anything :)
10:13:42 <peroyvind> so.. perhaps you can provide some information about missing pieces?
10:13:55 <TrueBrain> my poison of the week :p
10:13:59 * peroyvind is doing his own dune 2 engine
10:14:57 <TrueBrain> you know that libeastwood has one nasty 'bug' / 'misunderstanding of C'? :)
10:15:08 <TrueBrain> in its structs, using :1, :2, :3 with the assumption it indicates position
10:15:11 <TrueBrain> that scares the hell out of me :)
10:15:14 <peroyvind> fixed long time ago
10:15:48 <peroyvind> I was looking at some other pascal source and became oblivious
10:16:06 <TrueBrain> different languages can be a bitch :)
10:16:41 <peroyvind> uhm.. I don't use that kind of bit fields usually, and I always makes ton of the same mistakes whenever I switch back and forth between stuff I do :p
10:17:23 <TrueBrain> so, what is different about your dune 2 engine? (against d2tm for example)
10:17:45 <peroyvind> in the process of writing some python bindings for the library now, I keep getting annoyed by myself about how I keep making the same mistakes, forgets stuff and misunderstands things I really knew
10:17:54 <peroyvind> no copyright infringements
10:18:20 <nsz> who cares about copyright ;)
10:18:27 <TrueBrain> and are you sure about that? ;)
10:19:52 <peroyvind> well, there *might* be some possible issues for the dino de laurentis company to care about if they'd happen to be really aggressive
10:19:57 <nsz> truebrain: what are you doing with device drivers?
10:20:04 <nsz> do you emulate those as well?
10:20:05 <peroyvind> but no copyright issues
10:20:15 <TrueBrain> nsz: depends :p Some, yes .. most: no :p
10:20:29 <peroyvind> I don't distribute anything but our own source :)
10:20:36 <TrueBrain> peroyvind: well, can you proof that parts of libeastwood are not based on the disassembled dune2 code? (or any other :p)
10:20:49 <TrueBrain> nsz: nope, but you can implement that if you like ;)
10:21:21 <TrueBrain> I don't have enough basic understanding of those hardware related things to even begin making an emulator for it ;)
10:22:39 <peroyvind> TrueBrain: well, that wouldn't be a copyright infringement in norway at least..
10:23:12 <TrueBrain> Well, I don't know Norway law, I only looked deeply into mine (Dutch), and it suprised me how hard you need to work to be 100% sure you don't infringe a copyright
10:23:48 <TrueBrain> for example, it is allowed to disassemble any binary and use code from it if your goal is to make your application (which has to be different) use a fileformat or API from the original binary
10:24:04 <TrueBrain> most other cases around that, are not allowed
10:24:22 <TrueBrain> but okay .. I am not a lawyer .. I jus tknow a claim that is has no copyright issues is very hard to proof ;)
10:24:29 <nsz> when i code for free i sure don't care if there is some copyright issue
10:24:31 <peroyvind> but some of the motivation behind separating game components has also to better guard it against legal issues..
10:24:44 <TrueBrain> peroyvind: that is smart, yes ;)
10:25:07 <nsz> once dmca take down request removed a project from sf.net i was involved in though
10:25:09 <TrueBrain> peroyvind: too bad libeastwood is C++ (and GPLv3)
10:26:28 <peroyvind> but for copyright issues, those become more important when you want for your stuff to gain popularity, ie. most (sane) linux distributions won't touch that kind of stuff with a ten pole stick
10:26:37 <peroyvind> TrueBrain: why bad? :)
10:30:38 <nsz> i guess it's a cultural thing
10:32:29 <peroyvind> TrueBrain: as I see it, all the other clones have various issues regarding portability, copyright issues etc. that prevents them from becoming viable & popular projects..
10:32:53 * peroyvind has OOP fetish.. :p
10:33:25 <TrueBrain> peroyvind: pointing to OpenTTD, copyright issues don't hold back a project in popularity :)
10:33:36 <TrueBrain> C++ -> why overdo something when it can be done in C too
10:33:47 <TrueBrain> GPLv3 -> I hate GPLv3 .. GPLv2 is perfect, GPLv3 sucks
10:36:27 <peroyvind> well, for libeastwood as a library I guess it could be done in C, I would most probably have done it in C if I were to start writing it from scratch and it wasn't related to the game written in C++.. :o)
10:36:40 <peroyvind> but for the game engine I most certainly prefer C++ :)
10:36:48 <TrueBrain> for the game engine I can accept that :p
10:37:04 <TrueBrain> btw, libeastwood really should get a LGPL license to become usable for a bigger public
10:37:11 <peroyvind> but the library code was split out from the game engine
10:37:13 <TrueBrain> any library should be LGPL, never GPL :p
10:37:43 <peroyvind> TrueBrain: yes, I've thought about it, but since I'm basing much of my code on GPL code...
10:38:43 <TrueBrain> (of which you don't knw the copyright status :p Oh, I will stop about it; I couldn't care less about the copyright of dune2, no company wants to say they hold the license, or who does, so ...)
10:39:56 <TrueBrain> for sure I can help you out with a few files to ask for relicensing to LGPL (the ones where ludde (Ludvig Strigeus))
10:40:40 <peroyvind> well, the GPL code in question that I'm thinking mostly of that most likely won't be allowed for to be relicensed to LGPL is ie. scale2x..
10:43:00 <peroyvind> but I'm also comfortable with at least not allowing for proprietary software linking against the library (ie. I find the proprietary(there's even shareware!) clones of dune 2 a bit unethical;)
10:44:00 <TrueBrain> completely agree with you on that :)
10:44:36 <TrueBrain> assembly can be a true bitch to read :(
10:45:27 <peroyvind> true, fun to write though :o)
10:51:12 <peroyvind> TrueBrain: but at least I personally hold all the copyrights for the code released under GPLv3 only, so I'm always open to relicensing for whatever purpose I find appropriate :)
10:59:27 <TrueBrain> Xaroth: more talk at dune2k :)
11:05:05 <peroyvind> TrueBrain: so, what is your knowledge about the EMC format? :o)
11:05:29 <TrueBrain> peroyvind: none-existing :)
11:05:45 <TrueBrain> As you might have noticed, our approach is vastly different :)
11:06:14 <TrueBrain> I have dune2 running natively on my 64bit linux machine without understanding any of the code itself ;)
11:06:56 <peroyvind> yeah, most certainly, I hoped that you might have some different insight as well that way though.. ;)
11:07:09 <TrueBrain> ask me in a year or so :p
11:08:29 <Xaroth> in a year or so we'll hopefully have it replaced with LUA :P
11:08:41 <Xaroth> (yes, being optimistic here)
11:10:26 <peroyvind> I'm planning on implementing most that kind of stuff in python myself, but would be cool to have the authentic dune2 ai etc. as well.. :D
11:13:11 <Xaroth> I got a million crazy ideas, but thankfully I got TrueBrain to tell me i got crazy ideas when i get one.
11:13:59 <peroyvind> I've been pretty much the only last developer of my project, so I got noone to tell me that.. ;p
11:14:36 <peroyvind> dune 2 mmorts is one of the craziest so far :o)
11:15:55 <peroyvind> or perhaps not that crazy
11:17:00 <Xaroth> heh, that's one of TrueBrain's ideas as well
11:17:06 <Xaroth> but time will only tell
11:17:14 <Xaroth> (I personally think a mmo dune would kick absolute ass)
11:17:23 * peroyvind need to make a release ASAP to attract some new blood
11:18:58 <TrueBrain> peroyvind: well, if you want to ventilate your ideas, you are always welcome :)
11:19:04 <TrueBrain> but yes, a MMO is planned overhere too ;)
11:20:40 <peroyvind> one really crazy idea would be first person unit control like dungeon keeper..
11:20:57 <TrueBrain> C&C: Renegade anyone?
11:21:09 <peroyvind> too bad C&C: Renegade wasn't like that
11:21:18 <TrueBrain> well, you controlled one person
11:21:21 <peroyvind> it would've made it so much more interesting
11:21:23 <TrueBrain> not like DK, okay, but :p
11:21:38 <peroyvind> and it really sucked that you couldn't ie. rebuild buildings in multiplayer etc.
11:22:00 <TrueBrain> it was just a FPS in a C&C env
11:22:49 <TrueBrain> now I understand 80% of the overlay returns .. just another 20% are just weird
11:22:59 <TrueBrain> Fuzzy return at depth 6. Expected 43F7:000C, but got 34BE:0000 from 4448:0330
11:23:01 <TrueBrain> Fuzzy return at depth 6. Expected 34BE:0002, but got 440C:000C from 261F:01B9
11:23:13 <peroyvind> yeah, but you should've at least still have been able to build buildings, similar to battlezone or something, whenever the enemy team managed to destroy a building, the game was often over already..
11:24:05 <peroyvind> but what would be cool is to be able to create graphics for first person view out of the original graphics..
11:24:14 <peroyvind> in memory of course
11:24:20 <peroyvind> perhaps using graphics from the mentat menu
11:25:13 <peroyvind> hey, doom, duke nukem 3d, wolfenstein etc. had only 2d graphics from a couple of angles as well!
11:25:24 <peroyvind> of course, with just view from one angle..
11:25:36 <peroyvind> so you can get from the right and left side
11:25:50 <peroyvind> but back and front will be a bit harder, but not impossible!
11:26:06 <TrueBrain> lets first make a playable 2d version, shall we? :)
11:26:36 <peroyvind> I haven't made mine playable yet, after several years, why would I need to do so now?!?!
11:27:02 * peroyvind gets distracted with new stuff he figures out that he'd like to do frequently
11:27:06 <TrueBrain> check out latest reply on dune2k :) You got to love it :)
11:27:39 <Xaroth> heh, that just about sums it up
11:27:44 <TrueBrain> either way, my fun of today: classes
11:27:46 <TrueBrain> be back in a few hours
11:27:47 <peroyvind> might be attributed to my adhd.. :o)
11:27:56 * peroyvind sucks at being efficient
11:31:33 <Xaroth> ooo ooo post on our forumz
11:44:10 <nsz> hm why is the forum not linked from opendune.org
11:45:21 <Xaroth> not sure how redmine handles that, TrueBrain might know
11:45:32 <Xaroth> the "Wiki" link needs to be changed to wiki.opendune.org as well I think
13:18:25 <TrueBrain> like 50% of the size might be more nice ;)
13:18:32 <TrueBrain> I dislike big sigs :p
13:18:38 <TrueBrain> and I will take a look at Redmine
13:18:46 <TrueBrain> damn, boring class I had .. pff
13:20:19 <Xaroth> i'll make it 75px heigh
13:32:12 <Xaroth> TrueBrain: 75 px heigh now
13:46:20 <TrueBrain> finished posting the reply :p
13:46:29 <TrueBrain> it is more like an essay ;)
13:46:43 <TrueBrain> I am strongly considering to make this my bachelor thesis ;)
13:47:21 <TrueBrain> Xaroth: the phpBB needs another logo :p
13:47:33 <TrueBrain> btw, I like it that you named it OpenDUNE everywhere :) I will change everything to that :)
13:53:41 <TrueBrain> doesn't the forum have a RSS?
13:57:24 <Xaroth> er, no idea actually o_O
14:02:36 <TrueBrain> (well, purple on orange :p)
14:02:51 <Xaroth> looks like crap tho :P
14:03:02 <TrueBrain> btw, a bit room between the planet and the text please :)
14:04:38 <TrueBrain> did something change?
14:05:02 <TrueBrain> good enough for now :)
14:05:14 <Xaroth> pff :P always the critic :P
14:08:21 <Xaroth> now to read that wall of deat^h^h^h^h text of yours
14:11:45 <TrueBrain> you are just jealous! :p
14:13:19 <TrueBrain> damn, those overlays are smart as hell
14:14:56 <TrueBrain> original code in executable: CD 3F 04 76 <- CD 3F means: call interrupt 3F, the other 2 bytes mean nothing. After the interrupt call, an overlay is loaded, and these entries are changed. It now becomes: EA 04 76 43 01, meaning: jump to 4301:0476. Two notes: the 4301 comes from the overlay, where it is loaded in the memory. The 0476 was hiding behind the interrupt call
14:19:00 <Xaroth> you sure the two bytes behind it don't mean anything?
14:19:08 <TrueBrain> 100% absolutely sure
14:19:30 <TrueBrain> I don't assume it means: al += 0x76
14:19:38 <Xaroth> it changes the 3F into EA
14:19:49 <TrueBrain> and shifts the bytes to left with one, yes
14:20:12 <TrueBrain> which is the sneaky part about this :) I was wodnering where that 0476 came from, but it is hiding in code that is never called, directly after the int-call :p
14:20:47 <TrueBrain> and when the overlay is unloaded, it changes it back
14:20:57 <Xaroth> so it becomes the interrupt again
14:21:14 <Xaroth> with the original 0476 4301 still there, but 'hidden'.
14:21:29 <TrueBrain> not the 4301, as that is where the overlay will be loaded
14:22:04 <Xaroth> so now you know why the 2 bytes are constantly missing? :P
14:22:35 <TrueBrain> so I am a bit more sure how the overlay manager works :p
14:22:44 <TrueBrain> just now I need to figure out who does this rewriting (the overlay or the caller)
14:22:52 <TrueBrain> and how it knows which overlay to load
14:24:01 <Xaroth> what does the interrupt 3F mean anyhow
14:24:14 <TrueBrain> you know interrupts at all?
14:24:21 <TrueBrain> your modern system even still has them ;)
14:24:51 <Xaroth> but i would expect, that the thing that changes something, is defined before it changes something
14:25:04 <TrueBrain> hehe :) Well, it is like a call in fact, just it also protect the flags. You can either call hardware interrupts or software interrupts, and hardware can call interrupts to trigger software
14:25:15 <TrueBrain> for example, int 0x10 handles all video-stuff
14:25:27 <TrueBrain> int 0x1C is the place you put your custom timer code
14:25:38 <TrueBrain> int 0x00 is called when you divide by zero
14:25:57 <TrueBrain> and in this case, it is used to trigger an overlay load :)
14:26:17 <TrueBrain> interrupts allows switching to code which doesn't need to preserve the state of the code that was executing :p
14:26:25 <TrueBrain> so .. a bi tlike threading :)
14:26:32 <TrueBrain> you are saying all this 'ah', but I lose you after 'flags' :p
14:26:44 <Xaroth> you lost me a bit after the flag
14:27:19 <Xaroth> it was an ah of 'now i get it' for the part above
14:28:52 <Xaroth> ooh, found list of interrupts
14:37:51 <TrueBrain> okay, if I read this correctly, and that is still a big if, there is a big table in the initial piece that is loaded in the memory, which contains all overlays and the possible entry points
14:38:07 <TrueBrain> when an overlay loads, the entry points to the overlay are set, and when unloaded they are unset
14:38:54 <TrueBrain> sometimes weird things happen, like an overlay is moved to another location in the memory .. highly inefficient, if you ask me
14:40:55 <Xaroth> nsz: listening to dune audiobooks @ work :)
14:42:20 <Xaroth> peroyvind: somehow I get the idea you're proyvind on the fed2k forums :P
14:47:29 <TrueBrain> okay, the place where to load from is in that overlay header too
14:47:38 <TrueBrain> so now all I have to do is detect this, and add it to the output files ...
14:48:17 <Xaroth> I'd almost have a beer to celebrate... if i actually liked beer :)
14:48:46 <TrueBrain> well, I now understand what is going on; and either I have to think really hard for a very general solution, or I just try to fix it for dune2 :p
14:49:20 <Xaroth> tbh I'd go for whatever proves easier and more accurate :)
14:51:00 <TrueBrain> okay .. so I know when a file is read, and to where it is written
14:51:11 <TrueBrain> then all I need to know is to what overlay that piece belongs
14:54:29 <TrueBrain> well, that part is not so easy :(
14:55:22 <Xaroth> but I know you are too much of a genious to not solve that puzzle :P
14:55:26 <TrueBrain> dirty solution .... in register es is the value for Dune2 which uniquely identifies an overlay :p
14:57:25 <Xaroth> some people like it dirty though ;P
14:57:33 <TrueBrain> no, you like it finished :p
14:58:59 <Xaroth> it won't ever be 'finished' :) as that would be version 1.0 :P
15:03:02 <TrueBrain> one weird thing .. it reads N bytes to location A. Then next overlay read, it reads M bytes to location A - 10 or something
15:03:45 <TrueBrain> well, wha tI mean is that it doesn't add up
15:03:48 <TrueBrain> means something else is doing something
15:04:12 <TrueBrain> ah, yes, sometimes it just relocates an overlay .. but that doesn't go via the disk
15:07:54 <TrueBrain> so it boils back again to taking over the overlay manager and doing that myself :p
15:08:00 <TrueBrain> not anywhere near simple :p
15:08:44 <TrueBrain> oh, and sorry about that low profile part :p :p
15:09:14 <Xaroth> no need to apologise for anything, we agreed (at least mostly) on every step we took
15:09:35 <Xaroth> I might take peterns role in this, but that doesn't mean i -am- petern :P
15:10:09 <TrueBrain> but okay, another step closer to solving this problem ... I am happy I understand what is going on :)
15:10:19 <TrueBrain> as we say with boulderen: If you can touch it, you can grab it
15:10:27 <Xaroth> and I'm happy that you understand :)
15:10:31 <TrueBrain> (when we make an insane jump again and miss the piece we wanted to grab)
15:10:51 <TrueBrain> yesterday I jumped 17 times to the same block before I had it
15:10:56 <Xaroth> did some climbing when i was young, never bouldering though
15:11:20 <planetmaker> bouldering = jumping from stone to stone on Holland's shores?
15:11:31 <TrueBrain> climbing without gesp
15:11:43 <TrueBrain> and the routes are a bi tof a puzzle
15:11:49 <Xaroth> so if you fall you hurt yourself, without breaking much :)
15:11:51 <TrueBrain> you can't just climb them .. you need to think about the solution a bit :)
15:12:20 <TrueBrain> and I love it for that :) Normal climbing becomes either boring or just really hard for your fingers :p
15:12:29 <planetmaker> I guess I'm not too much into climbing to have a detailed understanding of the words involved ;-)
15:12:34 <TrueBrain> now I have those routes I just can't get through, because I can't get my weight moved in the right way :p
15:12:39 <nsz> the overlays only known at runtime?
15:12:49 <TrueBrain> nsz: how do you mean exactly?
15:13:02 <nsz> i mean what to load where
15:13:09 <TrueBrain> it happens dynamicly
15:13:13 <TrueBrain> there is a memory manager at play there
15:13:53 <planetmaker> I guess something which could be disposed of as of todays technology?
15:13:56 <TrueBrain> there is a big table which says what is in which overlay
15:14:02 <TrueBrain> planetmaker: very much, yes
15:14:04 <planetmaker> at least on the non-OS-level?
15:14:10 <nsz> so even if you solved this manager thing we could not have a static list of the overlay code?
15:14:12 <TrueBrain> MMU took over that job :)
15:14:29 <TrueBrain> nsz: well, if I solved it, you have a static list :)
15:14:36 <TrueBrain> inside an overlay, the cs doesn't matter
15:14:50 <TrueBrain> so for static code, it doesn't matter where it is loaded ... it doesn't even have to be loaded in the memory :p
15:15:15 <TrueBrain> but somehow I need to know at runtime where an overlay is located in memory
15:15:21 <TrueBrain> not sure if I make sense to you :p
15:15:59 <nsz> you have to load it first then you should knw where it is, no?
15:16:35 <peroyvind> Xaroth: you might somehow gotten the right idea ;)
15:16:44 <TrueBrain> there are 2 steps in my progress: a runtime, which collect stats, and a static, which is the result of those stats. The first now loads an overlay into a (semi)random piece of memory. For the latter I need to know where it came from, as I now have cs 4330, 4333, 4675, all 3 containing the same code, because they come from the overlay
15:16:51 <TrueBrain> but at runtime I have a hard time figuring that out ...
15:17:14 <Xaroth> peroyvind: I'm almost clairvoyant! :P
15:18:23 <peroyvind> Xaroth: must be the spice doing it!
15:20:26 <TrueBrain> nsz: or you need some other suggestion which might help solving this problem :)
15:21:01 <TrueBrain> the main problem comes from the fact that when I start the game twice, and do tiny things differently, the overlays are loaded at slightly different places. In result, the static version can never work unless it knows which overlay is being called
15:21:05 <nsz> well i still don't quite understand the problem
15:21:22 <nsz> i'd need to see how it works in more detail
15:22:19 <nsz> isn't there some bruteforce solution
15:22:22 *** proyvind has joined #openDune
15:22:35 <Xaroth> now i'm seeing double..
15:22:45 <TrueBrain> added to that I have the problem 2 overlays can be very simular, but are different in a small detail
15:23:45 <nsz> doesnt crc-ing the code solve that?
15:24:12 <TrueBrain> yes, but CRCing what is the problem
15:24:15 <TrueBrain> the first N functions are equal
15:24:18 <TrueBrain> the last function is not
15:24:22 <TrueBrain> I don't know the size of an overlay
15:24:36 <TrueBrain> so when calling a function, I don't know where it will end, so I don't know the length, so I don't know the complete CRC :(
15:24:50 <TrueBrain> and overlays aren't of pre-set sizes :(
15:26:05 <TrueBrain> hmm ... maybe I can modify the overlay manager slightly, to at any time have only 1 overlay in its memory :p
15:26:42 <nsz> so you have to identify data with unknown length?
15:27:18 <TrueBrain> there are 2 sides to this problem: for Dune2 only this should be solvable, by just indexing the begin of every overlay (which is doable)
15:27:24 <TrueBrain> but I was hoping for a more general solution :)
15:34:03 <TrueBrain> Xaroth: if it works: sure
15:34:09 <TrueBrain> just we run phpBB 3
15:34:34 <Xaroth> first google result phpbb rss :P
15:35:35 <TrueBrain> hmm .. so I come back to the idea of just taking over int3f
15:35:36 <nsz> hm when you make stats there should be a way to tell the length of an overlay
15:36:03 <nsz> or how does the loader know how many data should it load?
15:36:05 <TrueBrain> nsz: well, the length of an overlay is only know in the header of the overlay, and at the time the read is done
15:36:17 <TrueBrain> problem is that inside the overlay itself, this data is not known
15:37:14 <nsz> ok then make stats about all the possible overlay lengths
15:37:29 <nsz> and try to match it every possible way to the current memory layout :)
15:37:44 <TrueBrain> expensive :) (as it has to happen every call/jump/int)
15:43:10 <TrueBrain> lol, I just received a server warning .. load of 500 ...
15:43:14 <TrueBrain> Plesk 9.2 greylist going nuts :p
15:44:38 <TrueBrain> nsz: it is the best idea so far, so I will give it a spin :)
16:04:16 <Xaroth> private forum is filtered out from it permanently, as i've not browsed through the code to see if it's safe or not
18:33:05 <TrueBrain> "Ik wil graag mijn contract per 1 oktober j.l. opzeggen" <- LOL!!!
18:33:14 <TrueBrain> (sorry, impossible to translate)
18:41:39 <TrueBrain> overlays start to scare me more and more :) In overlay A I call a function in overlay B. When I return, overlay A is at another memory location!
18:41:54 <TrueBrain> lol :) Really ... argh :p
19:07:29 *** Xaroth sets mode: +vv Yexo proyvind
19:07:52 <Xaroth> I'm really glad there's interest in the project
19:09:00 <TrueBrain> and my 'overlay detection' fails :p
19:09:08 <TrueBrain> the brute force way gives too many false positives .. :s
19:09:13 <TrueBrain> (well, the design I have now :p)
19:09:27 <TrueBrain> overlays being smaller subsets of bigger overlays .. or anyway CRC wise :p
19:12:48 <Xaroth> TrueBrain: were you planning on changing DorpsGek for svn or shall I have a go at CIA?
19:42:15 <Xaroth> ugh, too much effort :P
19:59:09 <TrueBrain> I will write a small plugin for a new bot I think :)
20:49:39 <Xaroth> TrueBrain: I seemed to have received an error from the forums trying to send a mail
20:49:50 <Xaroth> SMTP error from remote mail server after RCPT TO:<sharquedo@mineth.net>:
20:49:52 <Xaroth> host mail.mineth.net [79.170.88.178]: 550-Verification failed for <xaroth@opendune.org>
20:49:56 <Xaroth> 550 Sender verify failed
20:51:52 <Xaroth> I activated sharquedo's account for him tho
20:52:03 <Xaroth> seeing he wouldn't be receiving his activation mail
21:08:13 <TrueBrain> Xaroth: so the user sharquedo doesn't exist at mineth.net?
21:08:35 <Xaroth> I've mailed his gmail as I had that handy in outlook
21:09:01 <TrueBrain> I only wonder about the sender verify failed ..
21:09:10 <Xaroth> working on a 'The Team' post in private forum
21:09:16 <Xaroth> to show the 'credits' list
21:10:17 <TrueBrain> I have a party here .. not the most interesting one, I have to add
21:10:29 <Xaroth> hence you being here :P
21:10:42 <TrueBrain> and I am _very_ annoyed by overlays
21:12:50 <TrueBrain> and posting topics here on a private forum is a bit useless ;)
21:12:55 <TrueBrain> the rest looks okay
21:12:59 <Xaroth> er, it's a concept post
21:13:14 <Xaroth> so once it's done, I c/p it to the proper place
21:14:39 <Xaroth> now to figure out -where- to put it
21:14:58 <TrueBrain> create a page on the wiki of redmine
21:15:16 <TrueBrain> I think a good idea is to use that wiki page for things we want to store (not general editable stuff)
21:15:26 <TrueBrain> like how things work, how to install, ...
21:15:42 <Xaroth> keep the wiki. more of a community thing
21:16:22 <TrueBrain> as wikis should be :)
21:17:37 <Xaroth> should make a note on the first page of the redmine wiki about the community wiki tho, but not needed until we actually have something
21:17:52 <TrueBrain> but feel free to edit ;)
21:19:23 <TrueBrain> I don't understand what goes wrong ... I guess my CRC simply is not strong enough .. which is weird
21:19:34 <Xaroth> how do you actually add pages to the redmine wiki o_O
21:19:42 <TrueBrain> create a link to it first
21:19:45 <TrueBrain> don't ask .. just do :p
21:28:13 <TrueBrain> okay, I am just getting too sick and tired of this problem, I am going to see if I can take over int 3F .. no general solution, but I just want to get this working :p
21:44:57 <Xaroth> hah, redmine wiki formatting is WANK
21:51:59 *** Yexo is now known as Guest2159
21:58:01 <TrueBrain> today was a good day :)
22:56:31 <TrueBrain> pff, just walked over the whole overlay manager (runtime and static)
22:56:38 <TrueBrain> finally I have a very good picture what it does, and how it does it
22:56:56 <TrueBrain> it is a very clever piece of software :) Memory efficient. But also: COMPLEX!
continue to next day ⏵