All pastes #791709 Raw Edit

Untitled

public text v1 · immutable
·published 2007-11-21 01:13 UTC
rendered paste body
Session Start (greyman@chumbucket.org:Henk): Sun Nov 11 01:22:05 2007
[01:22] Henk: So how is your performance? I heard that you have every client load the path data himself?
[01:50] *** "Henk" signed off at Sun Nov 11 01:50:00 2007.
[06:55] *** "Henk" signed on at Sun Nov 11 06:55:17 2007.
[07:04] *** "Henk" signed off at Sun Nov 11 07:04:02 2007.
[07:04] *** "Henk" signed on at Sun Nov 11 07:04:08 2007.
[07:04] *** "Henk" signed off at Sun Nov 11 07:04:12 2007.
[07:04] *** "Henk" signed on at Sun Nov 11 07:04:13 2007.
[10:30] *** "Henk" signed off at Sun Nov 11 10:30:28 2007.
[20:13] *** "Henk" signed on at Sun Nov 11 20:13:33 2007.
[21:46] *** "Henk" signed off at Sun Nov 11 21:46:42 2007.
[23:36] *** "Henk" signed on at Sun Nov 11 23:36:40 2007.
[07:40] Henk: Hey Greyman, you there?
[08:27] greyman@chumbucket.org: yep
[08:27] Henk: nice... :D
[08:27] Henk: I've been trying to view those invisible wmo "windows"
[08:28] Henk: but when I render the tile incl wmo's it won't show at all
[08:28] Henk: so I wonder if it was in the normal vertices and triangles?
[08:28] greyman@chumbucket.org: no, it's in the regular windows
[08:28] Henk: basically I get everything from the groups
[08:28] greyman@chumbucket.org: you need to assign them a valid texture ID though
[08:29] greyman@chumbucket.org: those "invisible" windows have a material ID of 255
[08:29] Henk: mmm, maybe I just miss some part of vertices
[08:29] greyman@chumbucket.org: which is never going to map to a valid texture
[08:29] Henk: ow I am not doing anything with textures 
[08:29] greyman@chumbucket.org: so, assign them a texture ID of say, 0 or something
[08:29] Henk: so it should always be shown
[08:29] greyman@chumbucket.org: ah ok
[08:29] greyman@chumbucket.org: not sure what you're doing then
[08:30] greyman@chumbucket.org: whereabouts are you looking?
[08:30] Henk: I can send you my simple renderer code if you want? :D
[08:30] Henk: cause I understand you won't run exe's :D
[08:30] greyman@chumbucket.org: sure
[08:30] Henk: and I hope you can keep it private ;)
[08:30] greyman@chumbucket.org: ..... of course
[08:31] Henk: lemme pack it for you
[08:31] *** Henk is trying to send you "BBWoWReader v0.02.rar"
[08:31] Henk: you will need some libs
[08:31] Henk: I will pack them too
[08:32] *** Henk is trying to send you "Application Settings.rar"
[08:32] Henk: my inet is slow... sry
[08:32] greyman@chumbucket.org: hehe,. no worries
[08:32] Henk: I moved to belgium some time ago
[08:32] greyman@chumbucket.org: ah ok
[08:32] Henk: and its been a disaster aver after
[08:33] Henk: :D
[08:33] greyman@chumbucket.org: I'm in Australia, so we're literally half the world apart
[08:33] Henk: yeps
[08:33] Henk: getting nice weather there huh?
[08:33] greyman@chumbucket.org: it's been gorgeous
[08:33] Henk: there is actually a second thing I found out 10 mins ago
[08:33] Henk: its the quaternoin rotation of doodads inside wmo's
[08:34] Henk: I though it was finally right
[08:34] Henk: but it seems to be off inside the tile I am trying this now
[08:34] greyman@chumbucket.org: haha, that took me ages to get right
[08:34] Henk: its so much crap, my math sucks rly bad
[08:34] greyman@chumbucket.org: like, a whole day of messing about with different rotations
[08:34] Henk: haha
[08:34] Henk: yeah, it just hurts to spend so much time on that
[08:34] Henk: :S
[08:35] Henk: I am planning to create a generic reader for games
[08:35] Henk: then let the pathmaker go fro there
[08:35] Henk: *from
[08:35] Henk: and the mesh maker, etc
[08:35] greyman@chumbucket.org: yeah, I've done much the same thing
[08:36] greyman@chumbucket.org: been plugging away at Age of Conan in my spare time
[08:36] Henk: ok, well I think if you got a decent format to store data and a decent way to rip a mesh it can go relatively fast
[08:36] greyman@chumbucket.org: ok, I think I see your problem
[08:36] Henk: the reading was actually pretty fast
[08:36] greyman@chumbucket.org: you're using render batches when you read the file in
[08:37] greyman@chumbucket.org: i.e. the MOBA chunk
[08:37] greyman@chumbucket.org: that chunk doesn't contain references to the "invisible" polygon
[08:37] greyman@chumbucket.org: polygons*
[08:37] Henk: ah
[08:37] greyman@chumbucket.org: you just want to pump out the raw geometry
[08:37] greyman@chumbucket.org: either that, or do another iteration afterwards that moves over ALL polygons and just render those with a material id of 0xFF
[08:37] Henk: would that also contain the forges that are actually in there?
[08:38] greyman@chumbucket.org: no
[08:38] greyman@chumbucket.org: forges are dynamically sent from the server
[08:38] Henk: ok
[08:38] greyman@chumbucket.org: forges, mailboxes, signposts, etc
[08:38] Henk: ok
[08:38] greyman@chumbucket.org: anything you can interact with is always serverside
[08:38] Henk: can't they be ripped from private server db's?
[08:38] greyman@chumbucket.org: somewhat
[08:38] greyman@chumbucket.org: unfortunately there's no private server DB that's particularly accurate in that regard
[08:39] Henk: hehe
[08:39] Henk: yeah, I've been using it now to get all npc coords
[08:39] greyman@chumbucket.org: nod
[08:39] Henk: it works for the test area I use
[08:39] greyman@chumbucket.org: yeah, npc coords aren't too bad
[08:39] Henk: but I never looked beyond it
[08:39] greyman@chumbucket.org: but I've found a LOT of missing dynamic objects in pretty much every server DB I've ever tried
[08:40] Henk: ok
[08:40] Henk: well, I guess it doesn't realy hurt storing them as you go
[08:40] greyman@chumbucket.org: right
[08:41] Henk: I mean, with a good scanner it can't be that hard
[08:41] greyman@chumbucket.org: or dynamically mapping around them in realtime
[08:41] Henk: yeah
[08:41] Henk: I only have one dynamic mapping atm, which is in combat
[08:41] Henk: I don't want the bot to query the server on every mode to a mob :D
[08:41] Henk: just when its obstructed
[08:42] greyman@chumbucket.org: heh, makes sense
[08:42] greyman@chumbucket.org: I use clientside pathing atm anyway, since we typically only run 3-4 bots on the machine
[08:42] greyman@chumbucket.org: and the memory overhead isn't too severe
[08:43] Henk: yeah, its not rly a big thing
[08:43] Henk: just the loading from disk might take a bit long
[08:43] Henk: relatively
[08:43] greyman@chumbucket.org: oh
[08:43] greyman@chumbucket.org: each tile takes less than 100ms
[08:43] greyman@chumbucket.org: and with dynamic tile loading, you've usually go at most 10-15 tiles in memory
[08:43] Henk: true
[08:43] Henk: I've been thinking about it alot
[08:44] Henk: cause with hd loading you can store a very nice format, which lets you path at nice speeds
[08:44] Henk: but then there is the loading
[08:44] greyman@chumbucket.org: right
[08:44] Henk: and at some point I seriously though about setting up commercial path servers
[08:44] greyman@chumbucket.org: yeah, me too
[08:44] Henk: so I made a format which is semi fast and semi small in mem
[08:45] greyman@chumbucket.org: then I couldn't be arsed :P
[08:45] Henk: haha
[08:45] Henk: well, I think pathing is the most wanted part of a bot
[08:45] greyman@chumbucket.org: always
[08:45] greyman@chumbucket.org: it's 90% of any good bot
[08:45] Henk: yeah, it alot of fun to see my bot running
[08:45] Henk: even though its still a bit bottisch
[08:45] Henk: :D
[08:46] greyman@chumbucket.org: all in good time :P
[08:46] Henk: I am planning to finish the pathing server this week
[08:46] Henk: there are a few things left todo
[08:46] Henk: water
[08:46] greyman@chumbucket.org: ah yes
[08:46] Henk: and horde/allience terretorium
[08:46] greyman@chumbucket.org: yeah
[08:46] greyman@chumbucket.org: sounds like you're doing well though
[08:47] Henk: yeah, atm I am trying to implement my path server with the tile loader I send you
[08:47] Henk: cause atm the server creates a file with waypoints it generated
[08:47] Henk: and then a separate app shows them in 3d
[08:47] Henk: but it would be nice to put them together
[08:48] Henk: just some fancy toy :D
[08:48] greyman@chumbucket.org: hehe
[08:48] Henk: ok, so if I get this right
[08:48] Henk: I don't even need the MOBA chunk
[08:48] greyman@chumbucket.org: correct
[08:48] Henk: I can just render all triangles from the MOVI chunk
[08:48] greyman@chumbucket.org: exactly
[08:49] Henk: how nice is that
[08:49] Henk: a bit painfull too, cause I had some stupid trouble with the batches :S
[08:49] greyman@chumbucket.org: hehe
[08:49] Henk: so is this what you do for a living?
[08:50] greyman@chumbucket.org: oh hell no
[08:50] greyman@chumbucket.org: I'm an electrical engineer
[08:50] Henk: hehe
[08:50] Henk: Like thinking out stuff or fixing stuff?
[08:50] greyman@chumbucket.org: theory more than practice :P
[08:50] Henk: hehe
[08:51] Henk: yeah well, I kind a like this stuff
[08:51] Henk: So I will go and try to do this kind a stuff for a living
[08:51] Henk: must be possible in some way
[08:51] greyman@chumbucket.org: nice
[08:53] Henk: I spoke to witfog again yesterday btw
[08:53] Henk: we're gonna continiue working together
[08:54] greyman@chumbucket.org: cool
[08:54] Henk: basically he's gonna gimme his full old and new bot, so I can make the new bot very fast
[08:54] Henk: and then we just share the bot and knowledge
[08:54] Henk: cause he's kind a tight with time
[08:55] greyman@chumbucket.org: ahh gotcha
[08:55] greyman@chumbucket.org: sounds like the partnership Risky and I have
[08:56] Henk: ok, yeah that would be nice
[08:56] Henk: witfog knows a shitload about lua and stuff
[08:56] Henk: that's where I come a bit short
[08:56] Henk: could figure it out, just takes a bit long
[08:57] Henk: but with his already working code I should be able to create the new bot fast
[08:59] Henk: so does your 3D app do something similar?
[08:59] Henk: or didn't you run it?
[08:59] greyman@chumbucket.org: I didn't run it, but I can pretty much see what it does from the code
[08:59] greyman@chumbucket.org: it's very similar, yes
[08:59] greyman@chumbucket.org: except I load texture info as well and display it
[08:59] greyman@chumbucket.org: just like the real WoW
[09:00] Henk: hehe nice
[09:00] Henk: well that would be cool
[09:00] Henk: but not rly needed :D
[09:00] greyman@chumbucket.org: right
[09:00] Henk: mmmm
[09:01] Henk: I render all triangles now
[09:01] Henk: but it gets some weird overlapping poly's :D
[09:01] Henk: but the "bug" is fixed :D
[09:02] Henk: it seems like  low res and high res triangles on the walls
[09:02] Henk: mmm, thats interesting
[09:04] Henk: there is a low res and high res WMO data...and becuase its on the same plane my renderer switches between them when I move around
[09:04] Henk: would be so much nicer to just load the low res data :D
[09:05] Henk: even stairs are  only 2 triangles
[09:05] greyman@chumbucket.org: yeah
[09:06] Henk: do you also render both?
[09:06] greyman@chumbucket.org: no, I only render the low res
[09:06] Henk: or use?
[09:06] Henk: mmm, how can I leave out the high res?
[09:06] greyman@chumbucket.org: good question :P
[09:06] Henk: haha
[09:06] greyman@chumbucket.org: if you look closely you'll find it
[09:06] Henk: mmm
[09:07] Henk: are it the triangles not used in batches?
[09:07] Henk: since it drew about everything when I used batches, except the low res poly's
[09:07] greyman@chumbucket.org: you'll figure it out :P
[09:07] Henk: hahaha
[09:07] Henk: ok, trying that now
[09:08] Henk: have you ever investigated if blizz could sue you for path servers if you would go commercial?
[09:08] greyman@chumbucket.org: not at all
[09:08] Henk: I got a friend who loves gaming and is a lawyer, but she is more gaming than learning
[09:08] greyman@chumbucket.org: I mean, they can always sue you
[09:09] greyman@chumbucket.org: but whether they're successful or not is a different story
[09:09] Henk: so dunno if she's smart enough
[09:09] Henk: yeah, but then you need lots of blingbling for the lawsuit
[09:09] greyman@chumbucket.org: if you were in the US, I'd say you'd definitely be in trouble there
[09:09] Henk: haha
[09:09] greyman@chumbucket.org: they can get you under the DMCA for instance
[09:09] greyman@chumbucket.org: but EU, you might be ok
[09:09] * Henk packs bags and moves to china
[09:10] Henk: hehe I think you already told me the answer to low res triangles
[09:11] Henk: either that, or do another iteration afterwards that moves over ALL polygons and just render those with a material id of 0xFF
[09:12] greyman@chumbucket.org: that's almost there
[09:13] Henk: and this maybe enum   
{ 
F_NOCAMCOLLIDE, 
F_DETAIL, 
F_COLLISION, 
F_HINT, 
F_RENDER, 
F_COLLIDE_HIT, 
}; 

[09:34] Henk: mmm, using the flags now, I just don't understand what 0xFF material ID has to do with it, 
[09:34] Henk: cause its never there
[09:35] Henk: forget that, made a stupid error
[09:39] Henk: found the magical value of 0x04
[09:39] Henk: which seems to leave a nice set of polys
[09:41] Henk: have you ever considered to path straight from polygons btw?
[09:42] Henk: It was an idea that occured to me today
[10:19] greyman@chumbucket.org: yes
[10:19] Henk: hehe, to which of my messages is that
[10:19] Henk: I was kind a spamming
[10:20] greyman@chumbucket.org: pathing straight from polygons
[10:20] Henk: ahh
[10:20] Henk: yeah, its not bad storage
[10:20] greyman@chumbucket.org: very big
[10:21] greyman@chumbucket.org: you'd need to merge polygons to do it effectively
[10:21] Henk: nah
[10:21] Henk: yeah
[10:21] greyman@chumbucket.org: big, relatively speaking
[10:21] Henk: thats trye
[10:21] Henk: you need to put them on some sort of mesh
[10:21] greyman@chumbucket.org: I can fit three continents (Eastern Kingdoms, Kalimdor, Outland) into < 1Gb
[10:21] Henk: hehe thats sweet
[10:21] Henk: currently I am at about 1mb per tile
[10:21] Henk: so 1gb per continent
[10:21] greyman@chumbucket.org: nod
[10:22] Henk: I though outland was about 2k tiles though
[10:22] Henk: so that would be 4gb ;D
[10:22] greyman@chumbucket.org: it's not that big
[10:22] greyman@chumbucket.org: about 1000 tiles IIRC
[10:23] Henk: ok
[10:23] Henk: thats nice
[10:23] Henk: then its 1GB mem I will need less :D
[10:23] greyman@chumbucket.org: hehe
[10:23] Henk: Its nice to do straight from poly pathing though
[10:23] greyman@chumbucket.org: right
[10:23] greyman@chumbucket.org: just like the game
[10:23] Henk: if you find a good way to store it
[10:24] greyman@chumbucket.org: I've found a few good ways
[10:24] Henk: yeah, you could make nice fly by pathing things :D
[10:24] Henk: well, my method for meshes atm is splitting up a tile in micro tiles
[10:24] Henk: of 16x16 meshes
[10:24] greyman@chumbucket.org: I think polygon pathing is the way to go long term
[10:24] Henk: then I check if those tiles have multi layer meshes
[10:24] Henk: or not
[10:24] greyman@chumbucket.org: since it will work with pretty much any game
[10:24] Henk: if not, I save it binary
[10:25] Henk: otherwise I save the entire actual height values
[10:25] Henk: agreed
[10:26] Henk: the biggest problem I found in putting mesh in mem is pointers
[10:26] Henk: they take up so much space
[10:27] Henk: you can go several ways, but for me always came down to pointer space...same with storing polygons on a mesh
[10:27] Henk: :S
[10:27] greyman@chumbucket.org: the solution to that is to reduce the number of polygons :P
[10:27] greyman@chumbucket.org: I have, on average, about 50,000 poly's per map tile
[10:27] Henk: ok
[10:27] Henk: thats not bad
[10:27] greyman@chumbucket.org: more in places like Stormwind of course
[10:27] Henk: but what do polys have to do with your mappings?
[10:28] Henk: I tried a whole arsenal of things
[10:28] greyman@chumbucket.org: I don't store nav data the same way you do
[10:28] Henk: I got like 12 versions of my mapper
[10:28] greyman@chumbucket.org: hehe, sounds familiar
[10:28] greyman@chumbucket.org: I tried a lot of different things too
[10:28] Henk: I got one where it finds the bounds
[10:28] Henk: of the walkable area, very small data size
[10:29] Henk: impossible for me to path
[10:29] greyman@chumbucket.org: how so?
[10:29] Henk: well, I never know how to path it
[10:29] Henk: I can send you the version if you like
[10:29] Henk: ;)
[10:29] Henk: it looks cool
[10:29] greyman@chumbucket.org: if you want me to take a look, sure
[10:29] Henk: you basically see the borderline along the walkable area
[10:30] greyman@chumbucket.org: ah I see
[10:30] greyman@chumbucket.org: you only store the outside edges?
[10:30] Henk: yeps
[10:30] Henk: Its a nice algo too
[10:30] greyman@chumbucket.org: yeah, that would never work unfortunately
[10:30] Henk: well, it worked for me...but!
[10:30] Henk: it took its time
[10:30] greyman@chumbucket.org: right
[10:30] Henk: because I had to create the mesh from the borders
[10:30] Henk: I made the mesh between the borders basically
[10:31] Henk: but that took too long
[10:31] Henk: if that was quicker it would be pretty damn fast
[10:31] Henk: :D
[10:31] Henk: hahaha
[10:31] Henk: cause you could just path along the borders
[10:31] Henk: and least the borders at the end and start
[10:31] Henk: *leave
[10:32] greyman@chumbucket.org: hmm, maybe I don't get what you're doing
[10:33] Henk: ok, lemme send you the code
[10:33] Henk: you should actually compile it to see it work
[10:33] Henk: all projects require the libs I send you though
[10:34] greyman@chumbucket.org: ok
[10:35] Henk: blegh, can't even find the right version :D
[10:36] Henk: down to 0.05...still looking :S
[10:36] greyman@chumbucket.org: haha
[10:37] Henk: hehe, there are some very funny versions in it
[10:37] Henk: where you see some kind of tail looking for a path
[10:37] Henk: going up and down
[10:37] Henk: it was so helpfull for debugging
[10:37] greyman@chumbucket.org: yeah
[10:39] Henk: damnit, my eralyer versions are down
[10:39] Henk: *earlyer
[10:39] Henk: I will try to find it
[10:39] Henk: its stupid that I remove the output files everytime for small backups :S
[10:48] Henk: mmmm, this isn't going to happen, don't know what version and they are fucked up
[10:48] Henk: prolly need a backup or so
[10:55] Henk: found it...pfjew
[11:06] Henk: zomg I HATE these ^#$%$ quaternions
[11:18] greyman@chumbucket.org: haha
[11:18] greyman@chumbucket.org: want me to take a look at your code again?
[11:19] Henk: hehe yeah well, if its not bugging you too much
[11:19] Henk: I kind a found an error
[11:19] Henk: but its still not working
[11:19] greyman@chumbucket.org: sure
[11:19] greyman@chumbucket.org: shoot it across, I'll take a look over lunch
[11:19] *** Henk is trying to send you "BotBytes v0.10.rar"
[11:20] *** Henk is trying to send you "BotBytes v0.10.rar"
[11:20] Henk: well, the point is that I am using some external class
[11:20] Henk: and I found out that I am not using the orientation values
[11:20] Henk: but I am just rotating the points over the W component
[11:20] Henk: so that goes wrong
[11:21] Henk: I'm gonna check a few more minutes
[11:21] Henk: then I will send you if it doesn't work
[11:35] *** Henk is trying to send you "BBWoWReader v0.02.rar"
[11:35] Henk: can you see me sending this?
[11:36] greyman@chumbucket.org: yep
[11:36] greyman@chumbucket.org: I missed the last two, was out with the dogs
[11:36] Henk: ahh, msn acts so weird
[11:36] Henk: ok
[11:36] Henk: got nice dogs?
[11:36] greyman@chumbucket.org: yeah
[11:36] *** Henk is trying to send you "BotBytes v0.10.rar"
[11:36] greyman@chumbucket.org: my gf runs a shelter
[11:36] greyman@chumbucket.org: we live on the property
[11:36] Henk: I wanna get one anytime soon too
[11:36] Henk: ahhh cool
[11:36] greyman@chumbucket.org: so... which file is which?
[11:37] Henk: a year ago I did volunteering with a shelter
[11:37] greyman@chumbucket.org: oh cool
[11:37] Henk: 2 or 3 times a week
[11:37] Henk: I took out the dogs for a run
[11:37] Henk: And they rly liked it, cause most volunteers were old ppl
[11:37] Henk: and only took the small dogs for a small walk
[11:37] greyman@chumbucket.org: nod
[11:37] Henk: and I only liked the bigger fit dogs :D
[11:37] greyman@chumbucket.org: hehe
[11:38] greyman@chumbucket.org: we either have 14 year olds or retired people volunteering
[11:38] greyman@chumbucket.org: no fit adults
[11:38] Henk: the 0.10 is the border version
[11:38] greyman@chumbucket.org: ah ok
[11:38] Henk: hehe yeah
[11:38] Henk: thats the same here
[11:38] greyman@chumbucket.org: the 0.2 is your viewer where you're having trouble with quaternions?
[11:38] Henk: Yeah, its the same in 0.10, but 0.2 is the active version
[11:39] greyman@chumbucket.org: cool
[11:39] Henk: I will dream tonight about how to use triangles for mapping
[11:39] greyman@chumbucket.org: hehe
[11:39] Henk: cause it would be nice to do it that way
[11:39] greyman@chumbucket.org: yep
[11:39] greyman@chumbucket.org: I've started on a similar project too
[11:40] greyman@chumbucket.org: got some polygon merging happening and the like, it's not looking bad
[11:40] greyman@chumbucket.org: just not ready to replace what I already have working
[11:40] Henk: the pathing itself is easy, its just the performance
[11:40] greyman@chumbucket.org: yep
[11:40] Henk: I might try using micro tiles again
[11:40] greyman@chumbucket.org: though the pathing can be tricky too with polygon based navmeshes
[11:41] Henk: how is that?
[11:41] greyman@chumbucket.org: carving up the polygons for obstacles, detecting low-hanging obstructions (stalactites, etc)
[11:41] Henk: you calculate the y, you get the area that must be valid and check if other polygons collide
[11:41] greyman@chumbucket.org: well, you can have two polygons that collide
[11:41] greyman@chumbucket.org: but may not be able to path directly between them
[11:42] greyman@chumbucket.org: as there may be an obstacle in the middle of a poly
[11:42] Henk: the function I use to detect polygon/box collisions works ver fast
[11:42] greyman@chumbucket.org: the Moeller method?
[11:42] Henk: lemme check
[11:42] Henk: its in there btw
[11:42] Henk: in overlap.cpp
[11:43] greyman@chumbucket.org: yeah, that's the same one I use
[11:43] Henk: I think I can do a few million polys per second
[11:43] Henk: ok
[11:43] Henk: :D
[11:43] greyman@chumbucket.org: that's not your problem though
[11:43] greyman@chumbucket.org: if you have a large triangle
[11:43] greyman@chumbucket.org: and there's an obstacle on it
[11:43] greyman@chumbucket.org: you need to carve it up into smaller triangles that leave a 'hole' where the obstacle is
[11:43] Henk: why not split up the triangle in a mesh
[11:44] Henk: and never check the entire triangle
[11:44] greyman@chumbucket.org: because then you haven't got polygon-based pathing
[11:44] Henk: and just check the mesh
[11:44] greyman@chumbucket.org: you've got exactly what you're using now, which works....
[11:44] greyman@chumbucket.org: but isn't as nice as pathing directly from the polygons
[11:44] Henk: yeah, but a nicer way to store data
[11:44] Henk: true
[11:45] Henk: so, basically, what you would want is to be able to have polygons that are either walkable or not walkable
[11:45] Henk: and always check entire polygons
[11:45] greyman@chumbucket.org: sort of
[11:46] greyman@chumbucket.org: I would only have the set of walkable polygons in the navmesh
[11:46] Henk: yeah
[11:46] Henk: ;)
[11:46] greyman@chumbucket.org: but if a polygon is semi-walkable, i.e. there's an obstruction on it
[11:46] greyman@chumbucket.org: you want to break it up into a series of smaller, fully walkable polygons
[11:46] greyman@chumbucket.org: discarding the other parts of the polygon that aren't walkable
[11:46] Henk: yeps
[11:46] Henk: so is that the hard part?
[11:46] greyman@chumbucket.org: no
[11:46] greyman@chumbucket.org: that's actually really easy
[11:47] Henk: hehe
[11:47] greyman@chumbucket.org: the hard part is merging the remaining polygons into larger polygons
[11:47] greyman@chumbucket.org: well, that's not really hard
[11:47] greyman@chumbucket.org: but it's hard to do *well*
[11:47] greyman@chumbucket.org: i.e. in a truly optimal fashion
[11:47] Henk: mmm, why would you want that though...cause then you loose data
[11:47] greyman@chumbucket.org: well, if I have two polygons that have the same surface normal
[11:47] Henk: ok
[11:47] Henk: then its possible
[11:47] greyman@chumbucket.org: and share a single edge
[11:48] greyman@chumbucket.org: then I can combine them into one polygon and save memory/space/processing time
[11:48] Henk: true
[11:48] greyman@chumbucket.org: and that happens a lot in wow
[11:48] Henk: and how would you wanna connect polygons
[11:48] Henk: via pointers, or by looping through a small set
[11:49] greyman@chumbucket.org: probably pointers
[11:49] greyman@chumbucket.org: simply because checking that two polygons are "connected" is relatively cpu intensive
[11:49] Henk: but then every poly would have 1 pointer per connection...which takes up kind of alot of space
[11:49] Henk: yes
[11:49] greyman@chumbucket.org: well, you can optimize that a lot
[11:49] greyman@chumbucket.org: you can break them up into smaller partitions
[11:49] Henk: you could work with an index
[11:50] greyman@chumbucket.org: and have the pointer be an 8-bit or 4-bit offset into the partition
[11:50] greyman@chumbucket.org: right
[11:50] Henk: yeah
[11:50] Henk: thats basically what I do now with my micro tiles....not the polys but reducing pointer size
[11:50] greyman@chumbucket.org: nod
[11:50] greyman@chumbucket.org: I do the same on a per-maptile basis
[11:51] greyman@chumbucket.org: for any maptile that has less than 65535 regions, it uses a 16-bit index instead of a 32-bit one
[11:51] Henk: hehe nice one
[11:51] Henk: I had a very nice method that used only about 35kb per tile
[11:51] Henk: but it was all 2d layered
[11:51] Henk: so I had problems converting 3D to the right layer
[11:52] Henk: it was quick too
[11:52] greyman@chumbucket.org: gotcha
[11:52] Henk: just the 3D part was kind a sad
[11:52] Henk: :D
[11:52] greyman@chumbucket.org: man, I'm looking at your quaternion rotation code
[11:52] Henk: lol
[11:52] greyman@chumbucket.org: I don't know what the hell you're doing there :P
[11:52] Henk: no, neither am I
[11:52] Henk: and I am guessing thats the problem haha
[11:53] Henk: as I told you, I suck at matrix math
[11:53] Henk: I do fine with some vector and geomitry stuff
[11:53] Henk: but thats just out of my range
[11:53] Henk: I also wonder why blizz had to use that way just for doodads inside wmo's :S
[11:54] greyman@chumbucket.org: there's a good reason for it
[11:54] Henk: I think they did it to mess with me :D
[11:54] greyman@chumbucket.org: lol, I used to say the same thing
[11:54] Henk: hehe, what is that?
[11:54] greyman@chumbucket.org: you'll understand when you figure out how to do the rotation
[11:54] Henk: :S
[11:54] Henk: I wonder if that day will ever come
[11:55] greyman@chumbucket.org: I'm trying to figure out how to give you the right hint without just giving you the answer
[11:55] Henk: can you gimme a pointer in the right direction
[11:55] greyman@chumbucket.org: since you'll learn a lot more by figuring it out
[11:55] greyman@chumbucket.org: yeah
[11:55] Henk: hehe
[11:55] Henk: well, the problem I found is this
[11:55] Henk: The class I use uses a quat rotation
[11:55] Henk: but it just takes 1 vector
[11:55] Henk: and I have 2
[11:55] greyman@chumbucket.org: alright
[11:56] greyman@chumbucket.org: what you want to do is convert the quaternion directly to a rotation matrix
[11:56] greyman@chumbucket.org: then use that rotation matrix just like normal
[11:56] Henk: I never use a rot. matrix
[11:56] Henk: just there
[11:56] Henk: the rest of the functions I don't use it ;)
[11:57] greyman@chumbucket.org: well, you do
[11:57] greyman@chumbucket.org: you just don't realise it
[11:57] Henk: hehe
[11:57] greyman@chumbucket.org: that math you have in the bbRotatef function is effectively a matrix multiplication, algebraically speaking
[11:57] Henk: ok, I wrote that myself btw
[11:57] greyman@chumbucket.org: not a bad job
[11:58] Henk: just by thinking how glRotatef would work
[11:58] greyman@chumbucket.org: if you look for quaternion to matrix conversions on Google
[11:58] greyman@chumbucket.org: you should be able to write a similar function to do your quaternion rotations
[11:58] greyman@chumbucket.org: the math is very, very similar
[11:58] greyman@chumbucket.org: you just need a couple of steps beforehand for quaternions
[11:58] Henk: ok, but what is the quaternion? the W and the oOrientation?
[11:58] greyman@chumbucket.org: right
[11:58] greyman@chumbucket.org: so the x/y/z define the axis of rotation
[11:58] Henk: ok
[11:58] greyman@chumbucket.org: the w defines the degree of rotation about that arbitrary axis
[11:59] Henk: CVec3 RotatePoint( float t, CVec3 P1 ) 
{ 
CQuat QRot; 
CQuat Q1( 90.0f, CVec3(0, 1, 0) ); // Set by axis-angle 
CQuat Q2( 45.0f, CVec3(0, 0, 1) );  
QRot.Slerp( Q1, Q2, t ); 
 
CMatrix M; 
QRot.ToMatrix( M.mf ); 
 
return M * P1; 
}
[11:59] Henk: I got that function from inet
[11:59] greyman@chumbucket.org: yeah, that's just.... wrong.
[11:59] Henk: lol
[11:59] greyman@chumbucket.org: it's actually not bad per se
[11:59] greyman@chumbucket.org: it's just not right for what you want to do
[12:00] Henk: Mmm, I also tried to make a cQuat((((ioDoodad->fComponent/PI)*180.0f), CVec3(toDoodadSet->maVertices[i].x, toDoodadSet->maVertices[i].y, toDoodadSet->maVertices[i].z)))
[12:00] Henk: so then I would have the quat
[12:00] Henk: or wait, II should replace the points with oOrientation
[12:02] greyman@chumbucket.org: personally, I would just use a quaternion-to-matrix conversion routine
[12:02] greyman@chumbucket.org: multiply the vector containing the original x/y/z points with the resultant matrix
[12:02] greyman@chumbucket.org: and bang, you're done
[12:02] greyman@chumbucket.org: two lines of code
[12:03] Henk: ok, lemme try that
Session Close (Henk): Mon Nov 12 12:09:01 2007


Session Start (greyman@chumbucket.org:Henk): Mon Nov 12 12:10:23 2007
[12:10] Henk: should I still use the 
toMPQFile->read(&toDoodadSet->maVertices[i].x, 4); 
toMPQFile->read(&toDoodadSet->maVertices[i].z, 4);toDoodadSet->maVertices[i].z *= -1; 
toMPQFile->read(&toDoodadSet->maVertices[i].y, 4);
[12:10] Henk: or should I just read x, y, z
[12:10] Henk: w/o transforming it before the quat rotation?
[12:11] greyman@chumbucket.org: no, what you've done is right
[12:11] Henk: bah, I feel like such a math-brainless dumbass
[12:11] greyman@chumbucket.org: man, I know the feeling
[12:12] greyman@chumbucket.org: I hadn't seen a matrix in years before touching this stuff
[12:12] Henk: I did this now: 
CQuat toRotation(ioDoodad->fComponent, ioDoodad->oOrientation.x, ioDoodad->oOrientation.y, ioDoodad->oOrientation.z); 
CMatrix M; 
toRotation.ToMatrix(M.mf); 
CVec3 toResult = M * CVec3(toDoodadSet->maVertices[i].x, toDoodadSet->maVertices[i].y, toDoodadSet->maVertices[i].z);
[12:12] greyman@chumbucket.org: and quaternions made my head explode
[12:12] greyman@chumbucket.org: cool
[12:12] Henk: but itn's not working
[12:12] greyman@chumbucket.org: just keep in mind that WMO doodads involve two rotations
[12:12] Henk: :D
[12:12] Henk: 2?
[12:12] greyman@chumbucket.org: hence why they use quaternions
[12:12] greyman@chumbucket.org: yes, two
[12:13] Henk: but isn't that also possible w/o quaternions?
[12:13] greyman@chumbucket.org: sort of
[12:13] Henk: or...
[12:13] greyman@chumbucket.org: problem is, you have the possibility of gimbal lock
[12:13] Henk: 2 axes with difference angle
[12:13] Henk: mmm, that doesn;t make sense either :S
[12:13] greyman@chumbucket.org: which is *extremely* unlikely with wmo doodads, but I guess they wanted to be careful
[12:13] Henk: what I am saying
[12:14] Henk: gonna google gimbal lock
[12:14] Henk: ahh
[12:14] Henk: think I understand
[12:30] Henk: can you confirm this is correct?
[12:32] greyman@chumbucket.org: sure
[12:35] Henk: damnit, it just wont work :D
[12:41] greyman@chumbucket.org: hehe
[12:42] greyman@chumbucket.org: did you work out the two rotations that were necessary?
[12:42] Henk: (Link: http://rafb.net/p/BGumDu13.html)http://rafb.net/p/BGumDu13.html
[12:42] Henk: does that work out?
[12:42] greyman@chumbucket.org: that definitely doesn't look right
[12:43] greyman@chumbucket.org: oh wait
[12:43] Henk: (Link: http://www.ruthless.zathras.de/facts/apps/polygonesia/3d-transformation-matrix.php)http://www.ruthless.zathras.de/facts/apps/polygonesia/3d-transformation-matrix.php
[12:43] greyman@chumbucket.org: m is the quaternion converted to a matrix?
[12:43] Henk: yeah
[12:44] Henk: but for some reason you aren't useing the last row and column it seems
[12:45] greyman@chumbucket.org: eh?
[12:45] greyman@chumbucket.org: you should have a 4d vector and a 4x4 matrix
[12:45] Henk: hehe the matrix is 4x4
[12:46] Henk: but how can I have a 4d vector from an x,y,z? I alreasy used the W component for the quat creation
[12:46] greyman@chumbucket.org: x,y,z,0
[12:46] Henk: ahh
[12:47] Henk: but 0*x = 0, so it's effectively the same as what I wrote...I guess...lemme try another function I found
[12:47] Henk: ahh nvm, that function is crap
[13:11] Henk: hehe, well I kind a used all functions I could find...and I must be doing something else wrong I think :S
[13:12] Henk: I'm using the code from wowmapviewer to fill the matrix
[13:13] Henk: then I use some other code to muliply the matrix by the actual vector
[13:21] Henk: blegh, almost got it all good now
[13:21] Henk: except a few things
[13:21] Henk: :D
[13:22] Henk: only 1 stupid set of guns
[13:27] Henk: ahh well, I need sleep, its getting late here! Thx alot for your help with everything
[13:27] Henk: have a good day
[13:27] Henk: and ttyl
[14:15] Henk: Whohoooooooo got it!!!!
[14:16] greyman@chumbucket.org: grats :P
[14:16] Henk: now I don't ever wanna do that again :D
[14:16] greyman@chumbucket.org: lol
[14:17] Henk: I was very close to dmg-ing somthing near me :D
[14:17] Henk: I loved the old crt's which you could give a good punch and hurt your hand for a while
[14:18] Henk: can't do that with lcd :(
[14:18] greyman@chumbucket.org: lmao
[14:19] Henk: did you know what the actual gates of ironforge tile is only 131k triangles big
[14:19] Henk: thats not bad
[14:19] greyman@chumbucket.org: yeah
[14:19] greyman@chumbucket.org: they do seem pretty neat stuff
[14:20] Henk: with my code it looks alot better in lowres
[14:20] greyman@chumbucket.org: nod
[14:20] greyman@chumbucket.org: most definitely
[14:25] Henk: btw, risky told me something about you running wow at 12mb per instance?
[14:25] Henk: I can get it down with a mem manager to like 50-125
[14:25] Henk: but 12...
[14:28] Henk: mmm, I am checking orgrimmar now
[14:28] Henk: and the auction house looks kind a weird
[14:29] Henk: it basically looks like they put up a screen of some kind
[14:30] Henk: mm, maybe its my new drawing function
[14:47] Henk: I made a screenshot of it...its a doodad, its weird
[14:48] Henk: But now I am rly off to bed
[14:48] Henk: its not influenced by my the quaternion btw, so its still right (fjew!!)
[14:48] Henk: I wonder what it is
[14:48] Henk: have a good day again and nn!
[14:49] *** Henk is trying to send you "x405D7.tmp.jpg": c:\program files\trillian\users\default\cache\MSN-henkeigenaar@hotmail.com-thumb270.png
[14:50] Henk: ahh your back
[14:50] Henk: its the orgrimmar AH
[14:51] *** "Henk" signed off at Mon Nov 12 14:51:51 2007.
Session Close (Henk): Mon Nov 12 17:58:52 2007


Session Start (greyman@chumbucket.org:Henk): Mon Nov 12 21:01:45 2007
[21:01] Henk: Good morning greyman, still up? ;)
[21:01] greyman@chumbucket.org: yep
[21:01] greyman@chumbucket.org: it's only 9pm here :P
[21:01] Henk: ow haha
[21:02] greyman@chumbucket.org: how goes it?
[21:02] Henk: ok, just woke up :S
[21:02] greyman@chumbucket.org: haha
[21:02] greyman@chumbucket.org: been thinking about your server based approach
[21:02] greyman@chumbucket.org: I think I might do something similar
[21:02] greyman@chumbucket.org: do an arc-flags model so it can support 100's or 1000's of users simultaneously
[21:02] Henk: hehe yeah
[21:03] Henk: well I think I can improve my current algo to about 50-100 times the speed
[21:03] Henk: and atm its doing a path in about 3.8ms
[21:03] greyman@chumbucket.org: yeah
[21:03] Henk: and its not even using arc flags
[21:03] greyman@chumbucket.org: longrange paths are where arc flags really starts to shine
[21:04] Henk: its just using 2-way pathing
[21:04] Henk: low res->high res
[21:04] Henk: dis you see my image btw?
[21:04] greyman@chumbucket.org: yep
[21:04] greyman@chumbucket.org: looks groovy
[21:04] Henk: its just one thing in the AH
[21:04] Henk: and its a doodad
[21:05] greyman@chumbucket.org: yeah
[21:05] Henk: but it rly shouldn't be there
[21:05] greyman@chumbucket.org: all the AH's have invisible walls up on the podiums
[21:05] greyman@chumbucket.org: it looks correct to me
[21:05] Henk: nah, its not allighted properly for the podium
[21:05] greyman@chumbucket.org: ah ok
[21:06] * Henk hopes its not the doodad quat rotation :D
[21:06] greyman@chumbucket.org: lol
[21:06] greyman@chumbucket.org: fingers crossed
[21:06] Henk: yeah, gonna figure it out now
[21:08] Henk: it would be nice to support 1000 users :D
[21:08] greyman@chumbucket.org: very much so
[21:09] Henk: so then you would go public? or stil for private use :D
[21:09] greyman@chumbucket.org: public
[21:09] greyman@chumbucket.org: semi-commercial kind of thing
[21:10] greyman@chumbucket.org: I've already got the code to make it all work, so why not
[21:10] Henk: yeah, smart one
[21:11] Henk: well, I can't even do a simple quat rotation
[21:11] Henk: so I think I shouldstick to homebrewn stuff :D
[21:11] greyman@chumbucket.org: you'll get it
[21:11] Henk: for me alone
[21:11] Henk: its weird, cause everything looked right
[21:11] Henk: in 1 zone
[21:12] Henk: and now in org it's different
[21:12] greyman@chumbucket.org: that is weird
[21:12] Henk: yeah, like dun morough, in the place with the campfire inside where those invisible polygons are
[21:13] Henk: all the guns were aligned ok, the barrels, the target dummies
[21:13] Henk: everything
[21:15] greyman@chumbucket.org: yet Orgrimmar is not? that doesn't make sense.....
[21:15] Henk: yeah
[21:15] Henk: I agree with you :D
[21:15] greyman@chumbucket.org: want me to take another look at your code?
[21:15] Henk: as I mention before, they did it to mess with me
[21:16] greyman@chumbucket.org: haha
[21:16] Henk: ok, its very simple now :D
[21:16] greyman@chumbucket.org: I used to say *exactly* the same thing
[21:16] Henk: understtandable
[21:16] Henk: (Link: http://rafb.net/p/UCgRsr90.html)http://rafb.net/p/UCgRsr90.html
[21:17] greyman@chumbucket.org: hmm
[21:17] greyman@chumbucket.org: you're only doing one rotation
[21:17] Henk: yes
[21:17] greyman@chumbucket.org: WMO doodads involve two rotations
[21:17] Henk: but I only have 1 axe of rotation
[21:17] greyman@chumbucket.org: yes
[21:17] Henk: and 1 W component
[21:18] Henk: ahhh wait
[21:18] greyman@chumbucket.org: hmm, how can I give another hint
[21:18] Henk: you mean the one from the doodat itself?
[21:18] Henk: ow wmo?
[21:18] greyman@chumbucket.org: correct
[21:18] Henk: wait, lemme expant the code
[21:19] Henk: (Link: http://rafb.net/p/mgDqVs87.html)http://rafb.net/p/mgDqVs87.html
[21:19] Henk: the first is no quat rotation as far as I remember
[21:19] Henk: but its used for the positioning of the doodad
[21:19] Henk: which always seemed fine
[21:19] greyman@chumbucket.org: ok, you're doing a translation for the doodad
[21:19] greyman@chumbucket.org: but not a rotation
[21:19] greyman@chumbucket.org:  
                          toDoodadSet->maVertices[i].x += ioDoodad->oParentCoords.x + ioDoodad->oBaseCoords.x; 
                          toDoodadSet->maVertices[i].y += ioDoodad->oParentCoords.y + ioDoodad->oBaseCoords.y; 
                          toDoodadSet->maVertices[i].z += ioDoodad->oParentCoords.z + ioDoodad->oBaseCoords.z;
[21:20] greyman@chumbucket.org: effectively this is two translations in one
[21:20] greyman@chumbucket.org: you need a similar thing for the rotations
[21:20] greyman@chumbucket.org: a wmo doodad is rotated through both the wmo rotation and its own rotation
[21:20] Henk: ok
[21:20] greyman@chumbucket.org: the first wmo probably worked because it's not rotated, or not rotated very much
[21:20] Henk: // Perform the specified rotations. 
bbRotatef(ioDoodad->oOrientation.y - 90.0f, 0, 1, 0, &toDoodadSet->maVertices[i].x, &toDoodadSet->maVertices[i].y, &toDoodadSet->maVertices[i].z); 
bbRotatef(-ioDoodad->oOrientation.x, 0, 0, 1, &toDoodadSet->maVertices[i].x, &toDoodadSet->maVertices[i].y, &toDoodadSet->maVertices[i].z); 
bbRotatef(ioDoodad->oOrientation.z, 1, 0, 0, &toDoodadSet
[21:21] Henk: thats the one I do on non wmo doodads
[21:21] Henk: so at what point should I apply it, before the quat rotation or after?
[21:21] Henk: or doesn't that matter? :D
[21:22] greyman@chumbucket.org: theoretically you could do them in either order
[21:22] Henk: ok, lemme try that one ;)
[21:41] Henk: I got it 100% now
[21:41] Henk: :D
[21:41] Henk: hahaah
[21:41] greyman@chumbucket.org: nice
[21:41] Henk: nice thx man
[21:41] greyman@chumbucket.org: no worries dude
[21:41] Henk: yay
[21:42] Henk: now i'm having fun :D
[21:42] greyman@chumbucket.org: hehe
[21:48] Henk: did you apply some funky weighthing routine to water area's? Or did you just let the bot get wet?
[21:48] greyman@chumbucket.org: I apply weighting to water tiles
[21:48] Henk: ok, sounds like a plan to me
[23:36] Henk: do you have any hints for me to look for how to split up triangles when you get a collision?
[04:11] *** "Henk" signed off at Tue Nov 13 04:11:01 2007.
[07:12] *** "Henk" signed on at Tue Nov 13 07:12:26 2007.
[12:32] Henk: yo man, are you still awake, or up, dunno what time it is over there
[12:32] greyman@chumbucket.org: noon
[12:32] Henk: ahh
[12:32] Henk: well, I just did some midnight thinking the last few hours
[12:32] Henk: I think I found an ok to work with direct polygons for meshing
[12:32] greyman@chumbucket.org: nice
[12:33] Henk: its a combo of polys and mesh though
[12:33] greyman@chumbucket.org: :/
[12:33] Henk: and would take up about 1MB per tile for wow
[12:33] Henk: so its not superb
[12:33] greyman@chumbucket.org: that's still not bad
[12:33] Henk: but it should be pretty nice for smooth and fast pathing
[12:34] Henk: basically the mesh is the alternative for connecting polygons
[12:34] greyman@chumbucket.org: ah ok
[12:34] Henk: I think I might to create a demo tomorrow
[12:34] Henk: dunno if I have time though
[12:34] greyman@chumbucket.org: cool, would be great to see something in action
[12:35] Henk: Hehe yeah, well I send you my other apps already :D
[12:35] Henk: thats pure action
[12:35] Henk: lol
[12:35] greyman@chumbucket.org: heh
[12:35] Henk: but its a bit late and such, so I hope I didn't miss stuff
[12:36] Henk: I do store all polygons and their cross products, so thats good for the speed
[12:36] greyman@chumbucket.org: ahh, nice
[12:36] Henk: well, let you know if it worked out one of these days
[12:37] Henk: I have so many project...the bot, mapper, (normal work) and some website I am trying to setup
[12:37] Henk: some pricewatch for gold sellers
[12:37] greyman@chumbucket.org: hehe, I know the feeling
[12:38] Henk: hehe yeah, but all together I'm having a blast at pretty much anything
[12:38] Henk: except the normal work
[12:38] Henk: that sucks :D
[12:38] greyman@chumbucket.org: haha
[12:38] Henk: but its only 12h a week fortunately
[12:38] Henk: :D
[12:38] Henk: well, not gonna bother you any more on your beautiful noon
[12:38] Henk: and I need sleep
[12:38] Henk: so have a good day and ttyl
[12:39] greyman@chumbucket.org: seeya
[12:39] *** "Henk" signed off at Tue Nov 13 12:39:36 2007.
[20:14] *** You have been disconnected. Tue Nov 13 20:14:19 2007.
[20:51] *** "Henk" signed on at Tue Nov 13 20:51:32 2007.
[21:08] *** "Henk" signed off at Tue Nov 13 21:08:49 2007.
[21:46] *** "Henk" signed on at Tue Nov 13 21:46:05 2007.
[23:13] Henk: mmm, my thoughs of yesterday don't seem to be so promissing atm ;)
[00:28] greyman@chumbucket.org: hehe
[00:28] Henk: I am testing some different formats now
[00:28] Henk: I got rid of the mesh idea
[00:28] Henk: an I am back to triangle connections
[00:29] greyman@chumbucket.org: ah ok, interesting
[00:29] Henk: yeah, I am at 1.01MB for a medium complicated tile
[00:30] Henk: incl cross product
[00:30] Henk: but I am wondering if I need that
[00:31] greyman@chumbucket.org: well, it can be useful
[00:31] greyman@chumbucket.org: but it's not *needed* per se
[00:31] Henk: Atm its actually 1.7MB for the tile, but with 100k polygons...didn't simplify them yet
[00:31] greyman@chumbucket.org: ah ok
[00:31] Henk: and didn't get rid of the useless ones
[00:32] Henk: but its not extremely bad actually
[00:32] Henk: the only "time consuming" part will be looking up the start point and end point
[00:33] Henk: but thats not rly bad
[00:33] greyman@chumbucket.org: nod
[00:33] greyman@chumbucket.org: if you use a tree or mesh type structure to contain the polygons it won't be too bad
[00:33] Henk: it basically involves looping though 64-1k polygons to find the polygon you are on
[00:34] Henk: I currently just split uptiles to micro tiles
[00:34] Henk: which contain the polygons
[00:34] Henk: then there connections can go to your own or to neighboring micro tiles
[00:35] Henk: gonna try orgrimmar now
[00:35] greyman@chumbucket.org: yep
[00:35] Henk: (that will prolly be a bitch)
[00:35] greyman@chumbucket.org: :P
[00:35] greyman@chumbucket.org: the hardest part will be obstacles etc
[00:36] Henk: well, if you also use connections to link to colliding polygons its easy to check
[00:36] Henk: so its a different approach from yours
[00:36] greyman@chumbucket.org: not necessarily
[00:36] greyman@chumbucket.org: you still have to carve up polygons
[00:37] greyman@chumbucket.org: or you'll walk into a table, etc
[00:38] Henk: I'm not breaking up polygons on collision area's
[00:38] Henk: at least not yet
[00:38] Henk: ;)
[00:38] greyman@chumbucket.org: heh ok
[00:38] greyman@chumbucket.org: I think you will need to eventually
[00:38] Henk: mmm, not sure...I will try to simplify them though
[00:39] Henk: btw, are you using the 9x9 and 8x8 mesn in height maps?
[00:39] Henk: or jsut the 9x9
[00:39] greyman@chumbucket.org: I use both the lowres and highres versions
[00:39] greyman@chumbucket.org: same with WMO's
[00:39] greyman@chumbucket.org: it's hard to explain, but my nav is multi-layered
[00:40] Henk: hehe, like high and low res mesh points?
[00:40] greyman@chumbucket.org: right
[00:40] Henk: I have a mesh of 1024/tile ax
[00:40] greyman@chumbucket.org: you get a rough estimate path for the lowres stuff
[00:40] Henk: and then a low res mesh of aprox 32/tile ax
[00:40] Henk: but my low res mesh is dynamic
[00:40] greyman@chumbucket.org: yeah, I use a very different approach
[00:41] greyman@chumbucket.org: similar in some ways, but very different in others
[00:42] Henk: orgrimmar would be 3262398 bytes with my current approach
[00:42] Henk: so that not bad
[00:42] greyman@chumbucket.org: that's not bad at all
[00:42] greyman@chumbucket.org: better than what I have now
[00:42] Henk: do you have some thing where simple tiles get very small and complicated like org get a bit bigger than normal?
[00:43] greyman@chumbucket.org: yep
[00:43] greyman@chumbucket.org: some tiles are less than 100k
[00:43] Henk: ahh, well you could use 2 different approaches
[00:43] greyman@chumbucket.org: others are 10Mb
[00:43] Henk: and then hold an additional tile index, containing the used type
[00:44] Henk: I do that for my current functional pathing
[00:44] greyman@chumbucket.org: yeah, I use something a bit more complicated than that
[00:44] Henk: for my pathing algo it basically only means a difffernt way of getting connection in the pathing algo
[00:44] greyman@chumbucket.org: nod
[00:44] Henk: ahh haha
[00:45] Henk: I avaraged the triangle connection count on 3 per triangle though
[00:45] Henk: it's probably a bit less
[00:45] greyman@chumbucket.org: very probably :P
[00:46] Henk: And if I apply some simple filtering on the triangles, I get an org size of 1.7 MB
[00:46] Henk: which seems a bit low to me
[00:46] greyman@chumbucket.org: wow
[00:46] greyman@chumbucket.org: that's insanely low
[00:46] greyman@chumbucket.org: what does it look like rendered though?
[00:46] greyman@chumbucket.org: I mean, if it looks good....
[00:46] Henk: Can't say yet
[00:47] Henk: I render all atm
[00:47] greyman@chumbucket.org: ok
[00:47] Henk: I am just testing some simple setups
[00:47] Henk: doing most of the things counting
[00:47] Henk: some things by estimation
[00:47] Henk: so its not guaranteed
[00:47] Henk: ;)
[00:47] Henk: but it should be close
[00:47] Henk: hehe
[00:48] Henk: so do you always keep triangles...since you simplify polygons?
[00:48] Henk: or are squares also acceptable to you
[00:48] greyman@chumbucket.org: n-gons
[00:48] greyman@chumbucket.org: anything up to 16 sides is fine
[00:48] Henk: would save ALOT in space
[00:48] Henk: nice
[00:49] greyman@chumbucket.org: yeah
[00:49] greyman@chumbucket.org: I can get Eastern Kingdoms to 98Mb if I try hard enough
[00:49] Henk: so you split up the polygon before getting it though that collision check procedure
[00:49] greyman@chumbucket.org: yes
[00:49] Henk: haha
[00:49] Henk: thats sick
[00:49] Henk: but the splitting up takes some time ;)
[00:50] greyman@chumbucket.org: yeah, but you do it as a pre-processing step
[00:50] greyman@chumbucket.org: if you only run it once, who cares?
[00:51] Henk: btw, by orgrimmar tile I actually mean the polygons that are ON the tile, so its tile "msUniverse = "Kalimdor";miTileX = 40;miTileZ = 28;"
[00:51] Henk: then nobody cares except your electricity bill (just a bit)
[00:51] greyman@chumbucket.org: exactly
[00:51] Henk: ooooohhh, so exited
[00:51] Henk: wanna test it more detailed
[00:52] Henk: Do you happen to know a very simple tile?
[00:52] greyman@chumbucket.org: sure, one sec
[00:52] greyman@chumbucket.org: on Kalimdor: 45,29
[00:53] greyman@chumbucket.org: or if you want something more central, try: 34,39
[00:53] Henk: lol, thats prolly sea...but its fine
[00:53] Henk: :D
[00:53] greyman@chumbucket.org: you did say simple :P
[00:53] greyman@chumbucket.org: and seal tiles are VERY simple
[00:54] greyman@chumbucket.org: 34,39 shouldn't be ocean
[00:54] Henk: well, now you get the downside of my thingy
[00:54] Henk: its 893920 bytes
[00:54] greyman@chumbucket.org: ouch
[00:54] greyman@chumbucket.org: that's less than 100k in my system
[00:55] greyman@chumbucket.org: 34,39 is 268k
[00:55] Henk: On the new triangle based system?
[00:55] Henk: lemme check my old method
[00:55] Henk: :D
[00:55] greyman@chumbucket.org: no, the old method
[00:57] Henk: my old method 45,29 = 150kb
[00:57] greyman@chumbucket.org: not bad
[00:57] Henk: nops, I am actually surprised myself :D
[00:58] Henk: well, I am really gonna try to refine the new method tonight
[00:58] greyman@chumbucket.org: cool, good luck man
[00:58] Henk: its weird that its 900kb though
[00:58] Henk: for a basic sea tile
[00:58] Henk: :D
[00:59] greyman@chumbucket.org: combine polygons and you will see that shrink unbelievably
[00:59] Henk: ok, well I tried something like that as one of my methods
[00:59] Henk: but I need to keep triangles
[00:59] greyman@chumbucket.org: ah ok
[00:59] Henk: or
[00:59] Henk: well, I think I do
[01:00] Henk: yeah, maybe squares would be ok
[01:00] Henk: they would
[01:00] greyman@chumbucket.org: you could limit it to squares OR triangles
[01:00] Henk: yeah
[01:00] Henk: squares require no extra time when converting back to triangles
[01:00] Henk: thats nice
[01:01] greyman@chumbucket.org: nod
[01:01] Henk: but on what base do you group triangles?
[01:01] Henk: exact same cross product?
[01:01] Henk: of normal, whats it that should be the same
[01:01] Henk: and connected
[01:02] greyman@chumbucket.org: yeah, something like that
[01:02] Henk: ahh, I see that the sea tile at some point is one big flat plane
[01:02] greyman@chumbucket.org: you got it
[01:03] Henk: thats even easy to split up in bigass triangles
[01:03] Henk: btw, what the max height/dept you've encountered?
[01:03] Henk: ;)
[01:04] Henk: I am still thinking its about +/-3000
[01:04] greyman@chumbucket.org: I haven't really counted tbh
[01:04] greyman@chumbucket.org: I know it's a lot higher than 3000
[01:04] greyman@chumbucket.org: but -3000 seems a reasonable floor
[01:04] Henk: mm
[01:04] Henk: that would suck
[01:04] Henk: cause I put everything in a short
[01:04] Henk: :D
[01:04] greyman@chumbucket.org: that still gives you +/- 32768
[01:05] greyman@chumbucket.org: plenty of room
[01:05] Henk: yeah, but I do it *10
[01:05] greyman@chumbucket.org: oh
[01:05] Henk: cause I want to have .1 accuracy
[01:05] greyman@chumbucket.org: that's not really necessary for Z
[01:05] greyman@chumbucket.org: imo
[01:05] Henk: dunno if its rly needed
[01:05] greyman@chumbucket.org: X/Y I can see why you'd want that
[01:05] Henk: and x/y you have the tile offset
[01:05] Henk: so it never gets beyond 53
[01:05] Henk: 533
[01:06] greyman@chumbucket.org: nod
[01:06] Henk: so then you can take an ushort and do *100
[01:07] Henk: ahh well, need to work now
[01:07] Henk: :S
[01:07] Henk: just a few hours though
[01:07] Henk: then I am back to the cool stuff
[01:07] Henk: :D
[01:07] Henk: seeya later, need to sign on on my work msn now...moehahaah
[01:08] *** "Henk" signed off at Wed Nov 14 01:08:01 2007.
[04:09] *** "Henk" signed on at Wed Nov 14 04:09:48 2007.
[04:21] Henk: Yo
[04:55] *** "Henk" signed off at Wed Nov 14 04:55:09 2007.
[05:26] *** "Henk" signed on at Wed Nov 14 05:26:44 2007.
[05:26] *** "Henk" signed off at Wed Nov 14 05:26:52 2007.
[05:26] *** "Henk" signed on at Wed Nov 14 05:26:53 2007.
[05:27] *** "Henk" signed off at Wed Nov 14 05:27:17 2007.
[05:27] *** "Henk" signed on at Wed Nov 14 05:27:28 2007.
[05:29] Henk: Hey Grey, if your there...I had a nice idea...maybe you already do it. But don't you think it would be nice to determine path triangles by their texture?
[05:29] Henk: path as in "road"
[06:18] *** "Henk" signed off at Wed Nov 14 06:18:49 2007.
[06:18] *** "Henk" signed on at Wed Nov 14 06:18:50 2007.
[08:41] *** "Henk" signed off at Wed Nov 14 08:41:12 2007.
[08:41] *** "Henk" signed on at Wed Nov 14 08:41:15 2007.
[09:00] greyman@chumbucket.org: yeah, I do that already
[09:00] greyman@chumbucket.org: road polygons get a lesser weight than normal ones
[09:00] Henk: ow hehe, thats pretty sweet
[09:00] Henk: you're very far :D
[09:00] Henk: your done basically :D
[09:00] greyman@chumbucket.org: have been for months now
[09:00] greyman@chumbucket.org: I haven't touched my code in a long time
[09:00] Henk: so why don't you make this your profession? or you don't like it enough?
[09:01] greyman@chumbucket.org: because I'm extremely well paid in my current job :P
[09:01] Henk: Hahaha
[09:01] Henk: don't you think you can get more from doing this?
[09:01] greyman@chumbucket.org: no
[09:01] greyman@chumbucket.org: I don't
[09:01] greyman@chumbucket.org: maybe a few years ago, but not now
[09:01] Henk: mmm
[09:01] greyman@chumbucket.org: and I have what is apparently the rare gift of enjoying what I do
[09:01] Henk: I was hoping to get rich from this :D
[09:01] greyman@chumbucket.org: so no real incentive to switch
[09:02] greyman@chumbucket.org: well, you might be lucky
[09:02] greyman@chumbucket.org: but consider, the guy who makes ISXWoW/ISXWarden
[09:02] greyman@chumbucket.org: products a lot more complicated and arguably more valuable than mere navigation
[09:02] Henk: lax?
[09:02] greyman@chumbucket.org: makes less than I do
[09:02] Henk: why is what he does more complicated?
[09:03] Henk: its just another area of interest don't you think?
[09:03] greyman@chumbucket.org: because it involves reverse engineering both the Warden and WoW itself
[09:03] greyman@chumbucket.org: imagine if you will, trying to make your product without wowdev.org and similar sites
[09:03] greyman@chumbucket.org: you'd be lost
[09:03] greyman@chumbucket.org: that's what Lax is faced with
[09:03] greyman@chumbucket.org: but he has to redo it every single patch
[09:03] Henk: Hehe, well I'd have some issues forsure :D
[09:04] Henk: ok, well isn't that the same thing those keygen and cracker folks do?
[09:04] greyman@chumbucket.org: not even close
[09:04] Henk: Mmm, I would have to find out for myself to try it
[09:04] greyman@chumbucket.org: have fun :)
[09:04] Henk: but there is no time :D
[09:05] Henk: You're an electrical engineer right?
[09:05] greyman@chumbucket.org: correct
[09:05] Henk: can you build me a hyperbolic time chamber?
[09:05] Henk: :D
[09:05] greyman@chumbucket.org: hmm
[09:05] greyman@chumbucket.org: probably not
[09:06] Henk: well ok, I don't blame you ;)
[09:07] Henk: ahh well, atm I am trying to create some nice gui tools for the maping
[09:07] Henk: where you can click on a start point and end point and see the path it generates
[09:07] greyman@chumbucket.org: wow, nice
[09:08] Henk: yeah, its getting there :D and its nice todo
[09:08] Henk: I knid a like funky visual tools
[09:08] Henk: *kind
[09:27] Henk: ooohh, it works, I just cant use display lists
[09:27] greyman@chumbucket.org: nice man
[09:27] Henk: so the performance is kind a crap
Session Start (greyman@chumbucket.org:Henk): Thu Nov 15 06:36:17 2007
[06:36] Henk: Hey Greyman, just a minor question...do you use the ear clipping method for triangulation?
[06:46] Henk: Mmmm, found something about Delaunay Triangulations, does that sound armiliar with you?
[12:20] *** "Henk" signed off at Thu Nov 15 12:20:54 2007.
[19:20] *** "Henk" signed on at Thu Nov 15 19:20:01 2007.
[20:21] *** "Henk" signed off at Thu Nov 15 20:21:48 2007.
[07:21] *** "Henk" signed on at Fri Nov 16 07:21:12 2007.
[07:21] Henk: Hey greyman
[10:41] *** "Henk" signed off at Fri Nov 16 10:41:19 2007.
[10:41] *** "Henk" signed on at Fri Nov 16 10:41:19 2007.
[10:59] greyman@chumbucket.org: hey
[10:59] Henk: hi
[10:59] Henk: good.......morning?
[10:59] greyman@chumbucket.org: hehe, yep
[10:59] Henk: nice
[11:00] Henk: I almost need some sleep
[11:00] Henk: I am pretty worked up over some things I did last few days though
[11:00] Henk: I just started testing a new algorithm to do the stuff we talked about (triangle based mapping)
[11:01] greyman@chumbucket.org: cool
[11:01] greyman@chumbucket.org: how goes it?
[11:01] Henk: well, its going ok...I am just taking my time on the preprocessing algorithm
[11:02] Henk: atm I am trying to split up walkable triangles where there are collisions with other triangles
[11:02] Henk: I just though about one thing
[11:02] Henk: about how a triangle would probably have less then 3 connections
[11:02] Henk: it can also be more
[11:03] Henk: :D
[11:03] greyman@chumbucket.org: correct
[11:03] Henk: for instance if you move up from the adt data to some wmo
[11:03] Henk: and the height difference is small
[11:03] Henk: they are not connected by edge
[11:04] Henk: but there are for navigation
[11:04] greyman@chumbucket.org: yep
[11:04] Henk: you told me splitting up triangles was easy?
[11:04] Henk: I am using a methed with triangle triangle intersection
[11:05] Henk: and one where I check if all points are inside the collision are for a triangle
[11:05] Henk: *area
[11:05] greyman@chumbucket.org: that sounds complicated
[11:05] Henk: yeah
[11:05] Henk: its is
[11:05] Henk: I found things like SAT
[11:05] Henk: and frustum
[11:05] Henk: and other funny shit
[11:06] Henk: but this would be the closest I could get to understanding :D
[11:06] Henk: is there some perticular keyword I should look at you know of?
[11:06] Henk: ;)
[11:39] Henk: Mmm, the procedure does seem to work though
[11:39] Henk: :D
[11:56] *** "Henk" signed off at Fri Nov 16 11:56:29 2007.
Session Close (Henk): Fri Nov 16 19:10:33 2007


Session Start (greyman@chumbucket.org:Henk): Mon Nov 19 20:52:50 2007
[20:52] Henk: good morning greyman, what's new?!
[21:26] greyman@chumbucket.org: remarkably little :P
Session Close (Henk): Mon Nov 19 21:26:08 2007


Session Start (greyman@chumbucket.org:Henk): Mon Nov 19 21:26:23 2007
[21:26] Henk: hehe, that not much at all
[21:26] Henk: :D
[21:26] Henk: Here not much is up either
[21:26] Henk: I'm still working on the triangle pathing though
[21:27] greyman@chumbucket.org: how goes it?
[21:27] Henk: it's ok
[21:27] Henk: not that I had alot of time this weekend
[21:27] Henk: but I rewrote some known algorithm to my own code, so that I understand it
[21:28] Henk: its for splitting up triangles on places where it collides with other triangles
[21:28] Henk: it takes a bit longer then I hoped
[21:28] Henk: but thats ok
[21:28] Henk: I heard the botting scene is down atm anyways
[21:39] greyman@chumbucket.org: well, for some people
[21:40] Henk: hehe, what do you mean?
[21:40] Henk: or is it a mistery answer? :D
[21:40] greyman@chumbucket.org: I'm botting
[21:40] Henk: your now using isxwow?
[21:40] greyman@chumbucket.org: no
[21:40] greyman@chumbucket.org: I'm using my own private ISXWoW
[21:41] Henk: you serious?
[21:41] greyman@chumbucket.org: perfectly serious
[21:41] Henk: and you already fixed the problem?
[21:41] greyman@chumbucket.org: what problem?
[21:41] Henk: well, there is a new release where warden is doing strange stuff
[21:41] Henk: so you could get detected
[21:41] greyman@chumbucket.org: right
[21:41] greyman@chumbucket.org: I take a vastly different approach to most people with my anti-warden solution
[21:42] greyman@chumbucket.org: so the likelihood of being detected is much smaller as a result
[21:42] Henk: do you have a modified os?
[21:42] greyman@chumbucket.org: no
[21:42] Henk: man, you need to teach me some of that stuff :D
[21:42] greyman@chumbucket.org: haha
[21:43] Henk: so you're an electrical engineer who can do all this :D
[21:43] greyman@chumbucket.org: that's my formal training, yes
[21:43] greyman@chumbucket.org: but I've been programming computers since I was a child
[21:43] Henk: hehe
[21:43] Henk: well, me too, but for me thats probably not as long is you
[21:43] Henk: I am 25
[21:44] greyman@chumbucket.org: ahh
[21:44] greyman@chumbucket.org: 28
[21:44] Henk: well thats still pretty young
[21:44] greyman@chumbucket.org: why thank you :P
[21:44] Henk: I think I missed some vital parts in those 3 years though
[21:44] greyman@chumbucket.org: hehe
[21:45] Henk: I know asm and stuff like that, but just not good enough
[21:45] greyman@chumbucket.org: it's just practice really
[21:45] Henk: and I spend some good time on hardware interfacing
[21:45] Henk: which was nice
[21:46] greyman@chumbucket.org: ah yeah
[21:46] greyman@chumbucket.org: did some stuff with microprocessors when I was younger too
[21:46] greyman@chumbucket.org: AVR's etc
[21:46] Henk: I made some fully automated testing setup for fresh produced pcb's...that was cool to see :D
[21:47] greyman@chumbucket.org: damn, nice stuff
[21:47] Henk: yeah, I only worked with microchip
[21:47] Henk: At some point chipcards gor very popular
[21:48] Henk: for storing credits, saving points at gas stations, etc.
[21:48] greyman@chumbucket.org: nod
[21:48] Henk: so I made a microchip smartcard simulaterm which acted as the card itself, and then stored the pass that was send to unlock it
[21:48] Henk: then I could read back the pass
[21:48] Henk: and then I could set the credits myself
[21:49] Henk: it only worked on simple mem smart cards though
[21:49] Henk: not the processor ones :D
[21:49] Henk: but then I got into web development
[21:49] Henk: and I got lost from the nice stuff
[21:49] Henk: :D
[21:49] greyman@chumbucket.org: hehe
[21:49] greyman@chumbucket.org: web development kills my inner child
[21:50] Henk: its very nice to interact with software though
[21:50] Henk: the pb test plathform could be monitored by customers (live) via  a website
[21:50] Henk: *pcb
[21:51] Henk: so that they could see how their production was comming along
[21:54] Henk: anyways, I already read some post of you reading straight from the memory the wow app (it was for the speed issue)
[21:54] greyman@chumbucket.org: nod
[21:54] greyman@chumbucket.org: that's the tip of the iceberg tbh
[21:54] Henk: so I assume you also write directly to mem?
[21:54] greyman@chumbucket.org: correct
[21:54] Henk: and you hook dll's?
[21:55] Henk: cause I did most of that at some point
[21:55] greyman@chumbucket.org: I hook code, yes
[21:55] Henk: but if you hook code, you would get detected
[21:55] Henk: so thats where the warden problem comes in
[21:55] greyman@chumbucket.org: not if you hook invisibly
[21:55] Henk: ahhh ok
[21:56] Henk: well I don't know how it works
[21:56] Henk: I can inly assume it checks for function hooks by some address
[21:56] greyman@chumbucket.org: fortunately you're smart enough to learn :P
[21:56] Henk: and then you could have hooking offsets
[21:56] Henk: so that the real addresses aren't shown
[21:56] Henk: but that might be way off :D
[21:56] greyman@chumbucket.org: yeah, it's way off
[21:57] Henk: haha ok
[21:57] Henk: well, I will go learn warden in my free time then
[21:57] Henk: are there sites about how it works?
[21:59] Henk: ahhh, found a wiki
[21:59] greyman@chumbucket.org: better off starting smaller than that
[21:59] greyman@chumbucket.org: you need to learn about hooking, injection, etc
[22:00] Henk: yeah, did that stuff for some keylogger
[22:00] Henk: I guess its the same
[22:00] greyman@chumbucket.org: pretty much
[22:03] Henk: So do u use C# for bot programming still, or just good old c?
[22:03] greyman@chumbucket.org: a mixture
[22:03] greyman@chumbucket.org: C# for high level stuff - UI's, general bot logic, etc
[22:03] greyman@chumbucket.org: then C for the low level injection, hooking, etc
[22:03] Henk: and then you just have some C dll
[22:03] greyman@chumbucket.org: yep, exactly
[22:04] greyman@chumbucket.org: ISXGrey.dll :P
[22:04] Henk: nice one LOL
[22:04] greyman@chumbucket.org: which has a few interesting tricks it pulls off
[22:04] Henk: so I assume you only have lua options in the dll
[22:04] greyman@chumbucket.org: lua "options"?
[22:05] Henk: yeah, the option to call lua functions via the dll, the higher level stuff is handled in C#
[22:05] greyman@chumbucket.org: right
[22:05] greyman@chumbucket.org: that kind of thing
[22:06] Henk: wow nice man
[22:06] Henk: since I started with botting there are so many cool things to explore
[22:06] greyman@chumbucket.org: yeah
[22:07] greyman@chumbucket.org: great teaching tool :P
[22:07] Henk: teaching?
[22:07] greyman@chumbucket.org: as in, a great way to learn new things
[22:07] Henk: ow yeah
[22:07] greyman@chumbucket.org: since it gives you a practical application for them
[22:07] Henk: yeah
[22:08] Henk: well, once I get my triangle based mapping going, I will share the code with you
[22:08] Henk: cause you've been so nice with all explenations
[22:08] greyman@chumbucket.org: that's not necessary :P
[22:08] greyman@chumbucket.org: no worries, I like helping people that are smart enough to understand what the hell I'm talking about :P
[22:09] Henk: hehe, well I guess its only nice to see some other approach to that kind of mapping (I guess you're done with that already then) :D
[22:10] greyman@chumbucket.org: yeah
[22:10] greyman@chumbucket.org: I finished with mapping a long time ago
[22:11] Henk: true
[22:11] Henk: but not the triangle based mapping we talked about earlyer right?
[22:11] greyman@chumbucket.org: yes
[22:11] Henk: yeah, so when I get that working
[22:12] Henk: I send you the code
[22:12] greyman@chumbucket.org: no I mean, I've done that too
[22:12] Henk: lol
[22:12] greyman@chumbucket.org: I'm happy to look at the code for you
[22:12] Henk: I don't beleive your en electrical enginneer no more :D
[22:12] Henk: lol
[22:12] greyman@chumbucket.org: test me :P
[22:13] Henk: haha, well I'm sure you know the stuff
[22:13] greyman@chumbucket.org: electrical engineer, with a specialization in power engineering
[22:13] Henk: but do you have your own company?
[22:13] greyman@chumbucket.org: no
[22:13] greyman@chumbucket.org: I work for the government organisation that controls Australia's power grid
[22:13] Henk: mmm, that good I guess :D
[22:13] Henk: I always liked it too
[22:14] Henk: I even studied it for a year together with computer science...but then I got bored with school :S
[22:14] Henk: so I just finished computer science
[22:15] greyman@chumbucket.org: heh, I was the other way around
[22:15] greyman@chumbucket.org: did 2 years of CS and got bored
[22:16] Henk: hehe, well to me school is all boring...you are stuck with a 99% of idiots
[22:17] Henk: like 90% simply stupid/uniniterested and then 9% who are trying rly hard but just don't have the brains :D
[22:17] Henk: I was mostly among the uninterested ppl ;)
[22:18] greyman@chumbucket.org: hehe
[22:18] greyman@chumbucket.org: I know the feeling
[22:18] Henk: do you use the rootkit?
[22:18] greyman@chumbucket.org: which rootkit?
[22:18] Henk: (Link: http://www.rootkit.com/newsread.php?newsid=360)http://www.rootkit.com/newsread.php?newsid=360
[22:23] Henk: thats a nice page :D
[22:24] greyman@chumbucket.org: oh, hehe
[22:24] greyman@chumbucket.org: that won't evade the Warden any more
[22:24] greyman@chumbucket.org: though it did work for a little while
[22:24] Henk: none of the things work?
[22:24] greyman@chumbucket.org: no
[22:24] Henk: mmm, but you are using some kind of rootkit I guess from your reaction ;)
[22:25] Henk: prolly rootkitgrey
[22:25] Henk: ;)
[22:25] greyman@chumbucket.org: something like that :P
[22:26] Henk: so did you found stuff online, or did you just develop it totally yourself...
[22:26] greyman@chumbucket.org: a bit of both
[22:26] greyman@chumbucket.org: the concept I found online
[22:26] greyman@chumbucket.org: the implementation I did myself
[22:27] Henk: does it have todo with vm's?
[22:27] greyman@chumbucket.org: not saying :P
[22:27] greyman@chumbucket.org: basically, the less people that know how it works the less likelihood I have of Warden finding it
[22:28] Henk: yeps, I understand
[22:28] Henk: but risky is using the same stuff right?
[22:29] greyman@chumbucket.org: no
[22:29] Henk: ahh
[22:29] Henk: I thuogh you shared the bot
[22:32] greyman@chumbucket.org: I share my nav with Risky
[22:32] greyman@chumbucket.org: but while ISXWoW/ISXWarden is running, I encourage him to use it
[22:32] Henk: don't you think its possible to simply let warden do its work, but control the things it sends back to blizz?
[22:32] Henk: or is all that encrypted too much
[22:32] greyman@chumbucket.org: that's what ISXWarden does
[22:33] Henk: ahhh ok
[22:33] greyman@chumbucket.org: effectively though, to do that you have to entirely emulate Warden
[22:33] greyman@chumbucket.org: not a simple task
[22:33] Henk: yeah, guess so
[22:34] Henk: feels a bit like emulating that smart card ;)
[22:34] Henk: which sucked
[22:46] Henk: so are you running commercial bots too?
[22:46] greyman@chumbucket.org: nah
[22:46] greyman@chumbucket.org: can't be arsed
[22:46] greyman@chumbucket.org: I make more than enough in RL :P
[22:46] Henk: yeah, but it could be a nice extra
[22:46] Henk: ;)
[22:47] greyman@chumbucket.org: it's more work than it looks
[22:47] Henk: well, I'm planning to automate it all
[22:48] Henk: the only thing that cant be automated is support
[22:48] Henk: and maybe some chat messages
[22:48] Henk: but those are send to the blackberry
[22:48] Henk: or what's that thing called
[22:50] greyman@chumbucket.org: yeah
[22:50] greyman@chumbucket.org: blackberry
[22:51] Henk: I couldn't think of other issues that can't be automated
[22:51] Henk: Enclose the game in a virtual appliance so that all attempts to hook system calls would just give them virtual machine hooks?  
 
(Link: http://www.vmware.com/vmtn/appliances/overview.html)http://www.vmware.com/vmtn/appliances/overview.html
[22:52] Henk: does that come close? :D
[22:52] greyman@chumbucket.org: nowhere near
[22:52] greyman@chumbucket.org: but it might work anyway
[22:52] Henk: haha
[22:53] greyman@chumbucket.org: I mean, you don't have to do it the way I have
[22:53] greyman@chumbucket.org: VM's might be another approach that work too
[22:54] Henk: well, the way to put 20 or more bots on 1 decent pc's is to use WINE in linux
[22:54] greyman@chumbucket.org: nah
[22:54] greyman@chumbucket.org: the way to put 40 or more bots on 1 decent PC is to do MPQ editing
[22:54] Henk: but that can be detected
[22:54] greyman@chumbucket.org: not if you hook WoW to stop it being detected :P
[22:54] Henk: lolz
[22:54] Henk: wow
[22:55] greyman@chumbucket.org: (Link: http://www.wtfbbqpwned.org/mpqedit3.jpg)http://www.wtfbbqpwned.org/mpqedit3.jpg
[22:55] Henk: you're crazy far with this
[22:55] greyman@chumbucket.org: yeah
[22:55] Henk: hehe, is that your screenshot?
[22:55] greyman@chumbucket.org: yes it is
[22:56] Henk: wow
[22:56] Henk: it uses innerspace though
[22:56] Henk: or you still use innerspace
[22:56] Henk: to inject your own dll
[22:56] greyman@chumbucket.org: yes
[22:56] greyman@chumbucket.org: I use innerspace for its excellent .NET layer
[22:57] Henk: ok
[22:57] greyman@chumbucket.org: with the latest patch I'm thinking of changing that though
[22:57] greyman@chumbucket.org: now that IS is being targeted more and more
[22:57] Henk: but wouldn't it be easyer to go all C then?
[22:57] greyman@chumbucket.org: no
[22:57] greyman@chumbucket.org: because Risky writes a lot of the bot logic
[22:57] greyman@chumbucket.org: and he writes in C#
[22:57] Henk: hahaha
[22:57] greyman@chumbucket.org: and it's just easier to write that shit in a higher level language
[22:58] Henk: ahh ok
[22:58] Henk: well, learned a new thing about mpq editing
[22:58] Henk: I won't share this with anyone btw
[22:59] Henk: so 40mb is about avarage for your use
[22:59] greyman@chumbucket.org: yeah, about that
[22:59] Henk: thats not bad
[22:59] Henk: a mem manager can get it down pretty far too btw, but its kind a slow
[23:00] greyman@chumbucket.org: nod
[23:00] greyman@chumbucket.org: a lot of paging
[23:00] Henk: (Link: http://www.wtfbbqpwned.org/,)http://www.wtfbbqpwned.org/, is it your site?
[23:00] greyman@chumbucket.org: yes
[23:00] Henk: hehe, what a name
[23:00] Henk: bbq is pretty hot down under isn't it :D
[23:01] greyman@chumbucket.org: haha, yes it is
[23:01] Henk: my bro was there for some time
[23:01] Henk: he always told me about bbq's in the park
[23:01] Henk: we don't have that here
[23:01] Henk: which is weird
[23:01] Henk: cause its so nice
[23:02] greyman@chumbucket.org: just a cultural thing I guess
[23:03] Henk: yeah, well in the states its normal too
[23:04] Henk: (Link: http://brokentoys.org/2007/11/15/warden-upgraded-to-matrix-23-neo-unhappy-with-sudden-inability-to-stop-agent-smith/)http://brokentoys.org/2007/11/15/warden-upgraded-to-matrix-23-neo-unhappy-with-sudden-inability-to-stop-agent-smith/
[23:04] Henk: haha, thats about lax
[23:05] greyman@chumbucket.org: hehehe
[23:05] greyman@chumbucket.org: that's funny
Session Close (Henk): Mon Nov 19 23:05:45 2007


Session Start (greyman@chumbucket.org:Henk): Mon Nov 19 23:07:10 2007
[23:07] Henk: so if you have 40 clients running form 1 os, how do you have them split ip's? wouldn't have a clue how that works
[23:07] greyman@chumbucket.org: that's another secret I'm afraid :P
[23:07] greyman@chumbucket.org: took me nearly half a week to figure that out
[23:07] Henk: zomg
[23:08] Henk: can't we work out some cool knowledge for knowledge deal :D
[23:08] greyman@chumbucket.org: haha
[23:09] Henk: I am very good with web based automation, maybe I can help there and automate a full botting "company" (except live support)
[23:09] greyman@chumbucket.org: that's the kinda thing Risky LOVES to work on
[23:10] greyman@chumbucket.org: personally, I'd rather lie face down in a pool of vomit
[23:10] Henk: well
[23:10] Henk: thats not really nice
[23:10] Henk: :D
[23:10] greyman@chumbucket.org: no, it's awful!
[23:11] Henk: I made some fully automated finance tool that is currently implemetnted by a few >25M dollar companies ;) so I know my way around that kind a stuff
[23:12] greyman@chumbucket.org: no doubt
[23:12] greyman@chumbucket.org: I'll give you a hint, but I'm really not interested in web-based stuff atm
[23:12] Henk: maybe its an interesting option to do something with it. there are plenty of idea's, but only a lack of time to work them out.
[23:13] greyman@chumbucket.org: look at a product named ForceBindIP
[23:13] greyman@chumbucket.org: emulate what it does
[23:13] Henk: ok, thx :D
[23:13] greyman@chumbucket.org: no worries :P
[23:16] Henk: but don't you think that could be an option, to allow me into your risky & you team and work on the ultimate botting solution together? :D
[23:17] greyman@chumbucket.org: you'd have to talk to Risky about that
[23:17] greyman@chumbucket.org: basically, if you can convince him
[23:17] greyman@chumbucket.org: you've convinced me
[23:17] greyman@chumbucket.org: I think you could contribute a lot, but we both have to agree before we let another member on board
[23:18] greyman@chumbucket.org: and you've got to remember, a lot of what I've done Risky doesn't have access to
[23:18] Henk: ok, but you've been talking to me about some pathmaking issues, and maybe you can help...I think me and risky share lots of idea, the time we spoke about it that is
[23:18] greyman@chumbucket.org: if ISXWarden is ever shut down I'll give it to him, but until then ISXWoW/ISXWarden is the preferred option
[23:19] Henk: hehe yeah, well I understand, but it would be sort of a waste to do all things 3 or 2 times
[23:19] greyman@chumbucket.org: nod
[23:19] Henk: the only thing you need to do is have some faith in eah other, which is kind a sucky over the internet
[23:19] Henk: ;)
[23:20] greyman@chumbucket.org: haha
[23:20] greyman@chumbucket.org: yes, it is
[23:20] Henk: and it would mean I would have to stop my plans with witfog
[23:20] greyman@chumbucket.org: from what I hear, witfog has a very good base for a bot
[23:20] Henk: which would be crap cause I like the dude, but no the other side, he hasn't been working on the bot for over a month
[23:20] greyman@chumbucket.org: probably better than the one Risky had when we started
[23:20] greyman@chumbucket.org: you could do worse than to partner with him
[23:20] greyman@chumbucket.org: ahh ok
[23:21] greyman@chumbucket.org: that's different ehn
[23:21] greyman@chumbucket.org: then
[23:21] greyman@chumbucket.org: if he hasn't been working,you need to kick his arse
[23:21] Henk: yeah, but his does only do a priest
[23:21] Henk: yeah, he's just very busy
[23:21] Henk: so basically I offered him that I would write the total bot, if he could share his code from the old bot, so I'd have a sample
[23:22] Henk: but I still don't have that...but then again, he is a nice guy
[23:22] Henk: and I already did give him my C# bot ;)
[23:22] Henk: and the nav samples
[23:22] greyman@chumbucket.org: oh wow, priest only?
[23:22] Henk: yeah
[23:23] greyman@chumbucket.org: well like I said
[23:23] Henk: so its kind a useless, or 1/8th usefull
[23:23] greyman@chumbucket.org: talk to Risky
[23:23] Henk: ok, will do
[23:23] greyman@chumbucket.org: if he agrees, I'm fine with it
[23:23] Henk: gonna make an attempt now
[23:24] Henk: lets hope he's happy and all that :D
[23:34] *** "Henk" signed off at Mon Nov 19 23:34:59 2007.
[23:34] *** "Henk" signed on at Mon Nov 19 23:34:59 2007.
[23:36] Henk: ohh dear, still no answer from risky :D
[23:37] Henk: ahhh ic, you can hook the bind function and then you can bind it to your own ip
[01:01] Henk: hey, you still there? :D
[01:19] greyman@chumbucket.org: yep
[01:19] Henk: ahh
[01:20] Henk: he's given me a task to get in :D
[01:20] greyman@chumbucket.org: haha
[01:20] greyman@chumbucket.org: what is it?
[01:20] Henk: and the task is....
[01:20] Henk: you may guess
[01:20] greyman@chumbucket.org: not at all
[01:21] Henk: create a tool that is able to interact with wow w/o LS
[01:21] greyman@chumbucket.org: hehe
[01:21] Henk: but the weird thing is
[01:21] Henk: he is telling me you don't have it ;)
[01:22] Henk: I didn't tell him either
[01:22] greyman@chumbucket.org: well, we don't in some ways
[01:22] greyman@chumbucket.org: I'm still dependent on the IS layer for some things
[01:22] greyman@chumbucket.org: frame locks, keyboard and mouse input, etc
[01:22] Henk: ah
[01:23] Henk: well, basically he wants me to write soemthing like that, and then I am in...but if one of you 3 invented it before I did, I am not in :D
[01:23] greyman@chumbucket.org: hmm ok
[01:24] greyman@chumbucket.org: I'm working on it over the next few days
[01:24] greyman@chumbucket.org: I guess the race is on :P
[01:24] Henk: well, I am pretty sure I'll loose
[01:24] Henk: ;)
[01:24] Henk: you have a big head strat
[01:24] Henk: start
[01:24] greyman@chumbucket.org: I can't dedicate much time to it atm
[01:24] greyman@chumbucket.org: so... who knows?
[01:25] Henk: well, could you provide me with some basics on where to start looking for what warden does? ;) any help is welcome now
[01:25] greyman@chumbucket.org: forget Warden
[01:25] greyman@chumbucket.org: it's not important for this
[01:25] greyman@chumbucket.org: you can do it with a normal jump hook that the Warden will never even take notice of
[01:29] Henk: mmm sure
[01:31] Henk: (Link: http://forum.gamedeception.net/showthread.php?t=10012)http://forum.gamedeception.net/showthread.php?t=10012
[01:31] Henk: you are refering to that
[01:32] Henk: man, I need dto get into this stuff fast
[01:34] greyman@chumbucket.org: yes, that's a standard jump hook
[01:35] greyman@chumbucket.org: something it's mandatory to be very very familiar with before you start playing with this stuff
[01:35] Henk: ok, well I understand how it works
[01:35] Henk: so i guess thats a start ;)
[01:37] Henk: mm, thats a nice forum ;)
[01:45] Henk: so basically using that to call wow functions will go unnoticed, but then there is the point where you need to read/write the mem from the app
[01:45] greyman@chumbucket.org: correct
[01:46] Henk: and I wonder how that can be detected
[01:46] Henk: cause your not rly mapping anything
[01:46] Henk: you'r just writing to a specific location
[01:47] greyman@chumbucket.org: any memory write in the WoW.exe address space can be detected
[01:47] greyman@chumbucket.org: because WoW does a CRC check of its own memory
[01:47] Henk: ahh ok
[01:47] Henk: so you need to do it somewhere between these checks
[01:50] Henk: ahhh right, so you make sure the crc fits again
[01:51] Henk: or you modify the crc check function
[01:51] Henk: :D
[01:51] greyman@chumbucket.org: or you modify memory that isn't subject to crc checks in the first place
[01:54] Henk: yeah, but if wow check all its mem, then how can it have effect writing outside of that mem.,,mmm, wow, nice stuff to work on
[01:54] Henk: I am becomming a real hacker
[01:55] greyman@chumbucket.org: hehe
[01:55] greyman@chumbucket.org: you have to find a function that WoW calls
[01:55] greyman@chumbucket.org: that isn't a WoW routine
[01:55] Henk: yeah, though about it, but...
[01:56] Henk: mmm, so you could use that function to let the wow call overwrite some mem
[01:57] Henk: and then its not seen by the check
[02:01] Henk: hehe, this is rly nice stuff...where I told you before that I was a bit short on asm knowledge
[02:01] Henk: it seems like I'm gonna need it here :D
[02:10] Henk: which debug app do you use?
[02:10] greyman@chumbucket.org: sometimes Olly
[02:10] greyman@chumbucket.org: sometimes IDA
[02:10] Henk: ok, I just started with olly
[02:11] greyman@chumbucket.org: good start
[02:11] greyman@chumbucket.org: definitely a good start
[02:11] greyman@chumbucket.org: very simple to use
[02:11] Henk: I remember there being a big ass suite
[02:11] Henk: with lots of functions
[02:11] Henk: don't remember the name though
[02:11] greyman@chumbucket.org: could be anything :/
[02:11] greyman@chumbucket.org: SoftICE
[02:11] greyman@chumbucket.org: IDA Pro
[02:11] Henk: yeah
[02:11] Henk: softice
[02:11] greyman@chumbucket.org: nice debugger
[02:11] Henk: I played with that years ago
[02:11] greyman@chumbucket.org: very steep learning curve
[02:25] Henk: ok, I read some of the tutorials
[02:25] Henk: and I am getting wiser
[02:26] Henk: :D
[02:26] greyman@chumbucket.org: hehehe
[02:26] Henk: but not quite wise enough
[02:26] Henk: :D
[02:26] Henk: it's a pretty big switch from what I did for many years... :D
[02:31] Henk: if u use VirtualProtect, doesn't that trigger some security issue?
[02:31] greyman@chumbucket.org: try it, find out :)
[02:31] greyman@chumbucket.org: experimentation is the ultimate yes/no answer
[02:32] Henk: true, but I can't atm, I am at my girl... :S
[02:32] Henk: only have my laptop, which has some dev invironment
[02:33] greyman@chumbucket.org: the simple answer is, I don't know
[02:33] greyman@chumbucket.org: because I don't need to know
[02:33] greyman@chumbucket.org: so I've never bothered to find out
[02:33] Henk: because you write outside of wow crc check area
[02:34] greyman@chumbucket.org: correct
[02:34] greyman@chumbucket.org: and even if I don't
[02:34] greyman@chumbucket.org: I still don't need to use VirtualProtect
[02:49] Henk: is there anything I can help you with btw, cause I am starting to feel guilty for the things I keep asking?
[02:50] Henk: maybe some website stuff
[02:56] greyman@chumbucket.org: nah that's ok
[02:56] greyman@chumbucket.org: like I said, I don't mind helping intelligent people
[02:56] greyman@chumbucket.org: it's dipshits that I can't stand :P
[02:57] Henk: hehe I understand...but with risky I was able to share my thoughs on some things, and with you I am only asking...its in my nature to want to do something back :D But I guess that time will come when I bear you with the wow module
[02:58] greyman@chumbucket.org: :P
[02:59] Henk: I am keep thinking how writing outside game mem would work, I found something where it returns 0 for gettickcount, so that the periodig crc check is never executed
[02:59] Henk: but thats pretty dirty
[02:59] Henk: :D
[02:59] greyman@chumbucket.org: and won't work
[02:59] greyman@chumbucket.org: for all sorts of reasons
[03:00] Henk: yeah, I am reading throuogh all those tutorials to find some usefull stuff
[03:00] Henk: usually when I found it, it doesn't take long to test some proto stuff
[03:00] greyman@chumbucket.org: nod
[03:00] greyman@chumbucket.org: the key is to get a good testing framework first
[03:00] greyman@chumbucket.org: then you can try stuff out until something wroks
[03:00] greyman@chumbucket.org: works, even
[03:01] Henk: yeah, so being able to test w/o having to get an account banned everytime
[03:01] greyman@chumbucket.org: private server
[03:02] greyman@chumbucket.org: get it working first, banned or not
[03:02] greyman@chumbucket.org: then trial account
[03:02] greyman@chumbucket.org: i.e. not only get it working, but get it working without getting banned
[03:02] greyman@chumbucket.org: then full account once you're VERY sure :P
[03:02] Henk: hehe
[03:02] Henk: how fast does banning work
[03:02] Henk: like seconds?
[03:02] greyman@chumbucket.org: depends on the warden scan you get
[03:02] greyman@chumbucket.org: if it's the wrong one, 15 seconds
[03:02] Henk: hahahah
[03:03] Henk: how many times did you get banned :D
[03:03] greyman@chumbucket.org: not many, strangely enough
[03:03] greyman@chumbucket.org: about 5 times over the past 2 years
[03:03] Henk: not bad
[03:15] Henk: I've made a very short overview of the problems with wow interfacing, can you take a look at my statements? ;)
[03:15] Henk: overwriting game functions > require in game mem modifications, could get noticed by crc check. 
calling game functions > can get detected? > solve by using jump hooks. 
writing game memory > would affect the crc check area. 
reading game memory > can get detected?
[03:16] Henk: so basically I can only get my head around the calling game functions thing
[03:16] Henk: bah, I feeel nub again
[03:50] Henk: have a good evenening, ttyl
[05:20] Henk: Hey man, you there
[05:35] *** "Henk" signed off at Tue Nov 20 05:35:51 2007.
[08:32] *** "Henk" signed on at Tue Nov 20 08:32:35 2007.
[09:22] greyman@chumbucket.org: yep
[09:23] Henk: ahh that was a while ago
[09:23] Henk: now I have nothing specific to ask :D
[09:23] Henk: did you sleep or
[09:23] Henk: ?
[09:24] greyman@chumbucket.org: yep
[09:24] greyman@chumbucket.org: got a full 5 hours
[09:24] Henk: hehe isn't that a bit too little?
[09:24] greyman@chumbucket.org: a little
[09:24] greyman@chumbucket.org: normally 7 is much nicer
[09:24] greyman@chumbucket.org: but this is fine
[09:24] greyman@chumbucket.org: heading out
[09:25] Henk: yeah, most of the times I recover from little sleep in the weekends
[09:25] Henk: that works ok
[09:25] Henk: tomorrow I'll head back to my home, then I am able to work a bit faster
[09:26] Henk: so I hope to have my first demo tomorrow
[09:26] Henk: ahhh now I remember what I wanted to ask again
[09:28] Henk: the hooks you descriped, jump hooks, they are easy to make...you replace an address with your own function call, but then you change mem...
[09:28] Henk: so you could get detected
[09:29] Henk: but in order to call a call from wow, you always would need a call xx, where xx is an address in the wow exe
[09:30] Henk: so then the can see it
[09:30] Henk: but that can easily be avoided by calling a variable
[09:30] Henk: so then its not detectible again
[09:31] Henk: pfff, I am just thinking out loud... ;0
[09:46] Henk: well, hf going out
[09:46] Henk: I will talk to you romorrow when I have did some trial and error
[09:46] Henk: -when
[09:46] Henk: blegh, grammar is hard :D
[10:20] *** "Henk" signed off at Tue Nov 20 10:20:25 2007.
Session Start (greyman@chumbucket.org:Henk): Wed Nov 21 09:59:50 2007
[09:59] Henk: Hey grey
[09:59] Henk: had fun on your trip? :D
[10:00] *** "Henk" signed off at Wed Nov 21 10:00:20 2007.
[10:00] *** "Henk" signed on at Wed Nov 21 10:00:21 2007.
[10:01] greyman@chumbucket.org: my trip?
[10:01] Henk: yeah, you told me you had to go out for work or something
[10:01] greyman@chumbucket.org: ah yes
[10:01] greyman@chumbucket.org: and now I'm heading out again :P
[10:03] Henk: haha nice
[10:03] Henk: well thats good news for me
[10:04] Henk: means more time to beat you :D
[10:04] Henk: even though I know I already kind a lost
[10:04] Henk: :D
[10:04] Henk: I have all techniques worked out now btw
[10:04] Henk: so maybe tonight
[10:04] Henk: otherwise tomorrow I have a sample
[10:04] Henk: but its on a different way you are doing ;)
[10:05] Henk: did you mean by injecting in a non wow call, injecting it into a render or alloc routine? :D
[12:01] greyman@chumbucket.org: that's a damn fine guess
[12:01] greyman@chumbucket.org: I'm impressed
[12:01] Henk: hehe well, I will tell you how I do it
[12:02] Henk: I set a trigger on the alloc function from warden
[12:02] Henk: then I know its gonna scen
[12:02] Henk: at that moment I restore everything
[12:02] Henk: until its done
[12:02] Henk: then I rehook everything
[12:02] greyman@chumbucket.org: a "trigger"?
[12:03] Henk: yeah, so when warden calls the alloc function
[12:03] Henk: my restore function gets called
[12:03] Henk: I am still in the process of totally understanding it btw
[12:03] Henk: so :D
[12:03] greyman@chumbucket.org: ok, let me try and shoot holes in what you've done... playing devils advocate so to speak
[12:03] Henk: hehe sure
[12:03] greyman@chumbucket.org: there's a couple of potential issues that spring to mind:
[12:04] greyman@chumbucket.org: 1) Warden scans can run over several frames, so you might miss out on important frame updates - that's especially critical for movement
[12:04] greyman@chumbucket.org: 2) the "alloc" routine is going to still be in the WoW.exe address space, unless you've hooked VirtualAlloc or something?
[12:05] Henk: yeah, well, its supposed to work with signatures
[12:05] Henk: that recognise calls from warden
[12:05] Henk: but if 1 is true
[12:05] Henk: there is an isssue indeeed
[12:05] Henk: did you know that wow has a function to register its lua calls btw?
[12:06] greyman@chumbucket.org: yes
[12:06] greyman@chumbucket.org: you can register your own LUA routines
[12:06] Henk: and that it can be used to easily map them yourself
[12:06] greyman@chumbucket.org: and call them from addons
[12:06] Henk: ahh ok
[12:06] Henk: well, I learned a bit today ;)
[12:06] Henk: but that warden dframes run over so many scans is a bitch
[12:07] Henk: I mean, scans over so many frames
[12:07] greyman@chumbucket.org: nod
[12:07] greyman@chumbucket.org: you're doing well though, so please keep going
[12:07] Henk: hehe I sure will do
[12:07] Henk: I already made a injector
[12:07] Henk: ;)
[12:08] Henk: Which was nice to see working
[12:08] Henk: I assume you are hooking Module32First, Module32Next and EnumProcessModules too in wow?
[12:08] Henk: to stay hidden?
[12:08] greyman@chumbucket.org: no
[12:09] greyman@chumbucket.org: there are far sneakier ways to remain hidden than that :P
[12:09] Henk: hahaha
[12:09] Henk: wow
[12:09] Henk: I asked some dude today what the hell you were talking about, writing outside crc check area without being noticed and stuff
[12:09] Henk: but he didn't know what you meanth either :D
[12:10] Henk: I found 2 ways of injection btw