Third Party Tools / Introducing the D.E.E.R (Darned Elusive Entities Resources) - Hunter Pt1

Author
Message
yrkoon
20
Years of Service
User Offline
Joined: 14th Jan 2004
Location:
Posted: 1st Nov 2015 15:58 Edited at: 27th Nov 2015 18:12
Here's a little helper tool I wrote to get some insight into where what entity instances are in an .fpm file.

https://www.dropbox.com/s/6etlcib5eeg81nc/DEER_HUNTER_DEMO_v0.981_%C3%9F.zip?dl=0

It (currently) reads .fpm files of Version 306 to 308 directly from your disk, displays a distinctive tree of entity types, instances and their x-, y- and z- coordinates on the left side and a heightmap representation of the full map on the right hand side.
DEER-Hunter 01.jpg just shows the program after starting it , DEER-Hunter 02.jpg the selection Screen, auto-restricted to .fpm files.

DEER-Hunter 03.jpg Shows the "Fantasy Pack" map loaded, with the heightmap shown and the entities-tree filled, but just its top Level expanded, revealing the Entity Type list only.

Now, let's assume we wanted to learn where the Player Start Position is located. In DEER-Hunter 04.jpg we see the tree expanded for this entity.

Admittedly, the mere coordinates are a Little bit dry and not that helpful. Thus, we click on "Player Start Position" in the 2nd tree Level to select it, then on Button "SINGLE INSTANCE Show SELECTED in Map", to get what we see in DEER-Hunter 05.jpg.
Did we get it right ? Check for yourself by looking at DEER-Hunter 05a.jpg

[Continued in Pt2]

Post scriptum: Forgot to say "A big Thank you" to Lee for supplying some vital information of the inner structures of a certain file within the fpm files through Pirate Myke to me - before that, I was SURE the required information was hidden in the file, but I would not have been able to make sense of the data structure without said Information.

In theory, this thing could be stripped down to handle even maps of FPSC9, but I never heard that someone desperately searched for an "escaped" entity in FPSC9, but in GG , I've read of such cases, which was the first Impetus for me to undertake to write a tool for such cases.
Lives of great men all remind us we may make our lives sublime

Attachments

Login to view attachments
PM
yrkoon
20
Years of Service
User Offline
Joined: 14th Jan 2004
Location:
Posted: 1st Nov 2015 16:10 Edited at: 1st Nov 2015 16:27
[pt 2] Now, selecting single instances of entities manually would be tiresome. DEER-Hunter 07.jpg shows that Setting the mark for an entity type on the top tree Level will set the mark for all instances of that entity.

And with a click on Button "MULTIPLE INSTANCES : Show MARKED in Map", we get to see a host of circles on the map showing the Location of those instances, as in DEER-Hunter 08.jpg

On the other hand, sometimes it can be of interest which entities are located in a certain area of the map.
By Setting the upper left and the lower right Corner of a rectangle on the map, a selection area can be defined.
as shown in DEER-Hunter 09.jpg.

By clicking on Button "Mark entities in FRAME AREA", the respective marks will be set in the Entities' tree for those (and only those) instances of entities within the framed area, as shown in DEER-Hunter 10.jpg (which also Shows the results of Button "MULTIPLE INSTANCES : Show MARKED in Map" after performing "selection by area").

Oh, you may notice that two styles for markers on the map are available, "filled" and "outlined". The "filled" marker is easier to see if few marks are on the map, whereas the "outlined" style is more suited to situations where many instances are clustered Close to each other.
Lives of great men all remind us we may make our lives sublime

Attachments

Login to view attachments
PM
Bored of the Rings
GameGuru Master
19
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 1st Nov 2015 16:28 Edited at: 1st Nov 2015 16:28
this looks interesting- I'll keep a keen eye on this - thanks for sharing, love the name
Professional Programmer: Languages- SAS (Statistical Analysis Software) , C++, SQL, PL-SQL, JavaScript, HTML, Darkbasic Pro (still love this language), Purebasic, others
Hardware: Dell Precision 490; AMD Radeon HD 7570; LG TFT monitor (widescreen). Wanting a new PC at some point.
Interests: Drumming, Saxophone, Art, Theatre, Music.
yrkoon
20
Years of Service
User Offline
Joined: 14th Jan 2004
Location:
Posted: 1st Nov 2015 16:41
Thank you for your appreciation, Bored of the Rings.

Unfortunately, the heightmap files of GG are always 1024x1024, thus taking so much vertical Screen space that only Full HD Resolution is usable, and even then, there is not enough space for the usual Windows menus and toolbars user Interface.

And, of course, it is a tool working offline on the files GG creates, not integrated into GG.
Whished there was a kind of API for GG, callable from the outside. But currently, things are as they are ....
Lives of great men all remind us we may make our lives sublime
PM
Bored of the Rings
GameGuru Master
19
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 1st Nov 2015 16:56
I know API/OLE automation would be great if GG had it.... still we can dream
Professional Programmer: Languages- SAS (Statistical Analysis Software) , C++, SQL, PL-SQL, JavaScript, HTML, Darkbasic Pro (still love this language), Purebasic, others
Hardware: Dell Precision 490; AMD Radeon HD 7570; LG TFT monitor (widescreen). Wanting a new PC at some point.
Interests: Drumming, Saxophone, Art, Theatre, Music.
Pirate Myke
Forum Support
13
Years of Service
User Offline
Joined: 31st May 2010
Location: El Dorado, California
Posted: 1st Nov 2015 18:34
Excellent. Coming along a bit more I see.
Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2400 Mhz, 4 Core(s), 4 Logical Processor(s), 8gb RAM, Nvidia gtx660, Windows 7 Pro 64bit

smallg
Community Leader
18
Years of Service
User Offline
Joined: 8th Dec 2005
Location:
Posted: 1st Nov 2015 18:45
that name though, brilliant
couldnt find a deer so pls accept this cow
life\'s one big game

windows vista ultimate

i5 @3.3ghz, 4gb ram, AMD R9 200 series , directx 11
yrkoon
20
Years of Service
User Offline
Joined: 14th Jan 2004
Location:
Posted: 1st Nov 2015 18:49
Thanks Myke.
Now that I really believe I have accomplished something in this here area, I'm back on the "Import other makes of Terrains" track. Was even able to re-use some modules from the Terrain converter, here.

Also acquired a quite helpful book on Ogre3D to be able to use that as the display and testing engine for the Terrain converter.
Will probably soon have to get to grips with fraps or bandicam, to produce demo Videos like everybody else does.

Thanks again for helping to get info from Lee.
Lives of great men all remind us we may make our lives sublime
PM
yrkoon
20
Years of Service
User Offline
Joined: 14th Jan 2004
Location:
Posted: 1st Nov 2015 19:25
@smallg Thank you, too. I like cows

There were a number of People here in the Forums over time , who complained of seemingly very hard to (re-)discover single entities which they knew they HAD placed and seen - onve , just like deer in the woods. Hence the tool's name.
Lives of great men all remind us we may make our lives sublime
PM
smallg
Community Leader
18
Years of Service
User Offline
Joined: 8th Dec 2005
Location:
Posted: 1st Nov 2015 20:01
i would love to see this (or something like this) incorporated into GG (and live so we can directly adjust entity properties with it), it's clearly got a lot of features and is well thought out, work harder @Lee
life\'s one big game

windows vista ultimate

i5 @3.3ghz, 4gb ram, AMD R9 200 series , directx 11
yrkoon
20
Years of Service
User Offline
Joined: 14th Jan 2004
Location:
Posted: 1st Nov 2015 20:59 Edited at: 1st Nov 2015 22:19
@smallg so would I, but it should have been in GG way back in time.

With DX11, Lee has more important Tasks on his plate, now. But, maybe, by supplying this working example, I may help that someone at TGC may consider adopting the concept, at least.

On the other hand, DEER HUnter is VERY fast, like an informatory tool really should be, thus, it can be thought of as a sidekick tool. If you are working on a map in GG, all it takes is a simple save of your map to make the fpm current, then read it out instantly with DEER Hunter. IF THERE WAS something like a function call against the Editor like "set camera to Position x,y,z", we'd be set for a lot of things.

Editing entities' properties is not really what I'm aiming for with DEER Hunter, that feature will be reserved for my other Project, the GG Terrain/Heightmap processor,
Partly because that processor really Needs it for existing maps already fitted with entities, partly, because of user Input going directly to the main files needs LOTS of checks to prevent the user from inadvertently creating havoc.

Although I already have automatized backup Features available, a fallback is only ever the second best solution.
I'd rather start with making changes to those files purely by easy to control function calls and curb possible errors there.
Lives of great men all remind us we may make our lives sublime
PM
rolfy
17
Years of Service
User Offline
Joined: 23rd Jun 2006
Location:
Posted: 2nd Nov 2015 02:10
Excellent work.
Bored of the Rings
GameGuru Master
19
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 2nd Nov 2015 10:00
I really like this, it's a much needed tool. Keep up the excellent work. And I like cows also ha
Professional Programmer: Languages- SAS (Statistical Analysis Software) , C++, SQL, PL-SQL, JavaScript, HTML, Darkbasic Pro (still love this language), Purebasic, others
Hardware: Dell Precision 490; AMD Radeon HD 7570; LG TFT monitor (widescreen). Wanting a new PC at some point.
Interests: Drumming, Saxophone, Art, Theatre, Music.
Corno_1
GameGuru Tool Maker
13
Years of Service
User Offline
Joined: 3rd Nov 2010
Location:
Posted: 2nd Nov 2015 12:31
Really cool tool Some guys in the forum will find a use for it
My dream is to develope games, which makes fun when I create it and fun when other people play it.
PM
yrkoon
20
Years of Service
User Offline
Joined: 14th Jan 2004
Location:
Posted: 2nd Nov 2015 21:37
Thanks, guys.
I think I will release a first version in the course of this week.

I now have added the instance information function, and decided I will let it list list those instance variables that are in string format (like "aimain", "basedecal", etc.), but just those that have string values assigned to them.

I don't think it would be all too useful to list the zillions of numerical variables, since many of them seem to be 0/1 flags and need indepth knowledge and Interpretation, anyway.
Lives of great men all remind us we may make our lives sublime
PM
Bored of the Rings
GameGuru Master
19
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 2nd Nov 2015 21:48
I would definitely be interested in trying this tool out, good stuff
Professional Programmer: Languages- SAS (Statistical Analysis Software) , C++, SQL, PL-SQL, JavaScript, HTML, Darkbasic Pro (still love this language), Purebasic, others
Hardware: Dell Precision 490; AMD Radeon HD 7570; LG TFT monitor (widescreen). Wanting a new PC at some point.
Interests: Drumming, Saxophone, Art, Theatre, Music.
spudnick
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location:
Posted: 21st Nov 2015 00:13
i love this idea,

i did mention this idea back when FPSCR first started off, as i did put together a similar thing in fpsc9 offline mode just to find the modes only, just so i could find my hidden models,

i'am sure your tool could be implemented into GG and i would love to see it in GG and would be the best tool for me to use in the editor as always looking for those pesky plants/bushes extra
well it would save me a lot of time fishing around for models.

PM
yrkoon
20
Years of Service
User Offline
Joined: 14th Jan 2004
Location:
Posted: 21st Nov 2015 02:58
hi spudnik, thanks. I had to completely re-install my development machine due to a bad driver constellation which wouldn't let windows 7 come up at all. Then, there was the rumour and finally the announcement that the c++ version was to be released, and I was half-expecting that the fpm format might change. Now, imagine the fun of me releasing a tool which becomes useless after only one week or so due to the new gg release! Nevertheless, I used the time to add another useful feature. Still not happy with the user interface, but adding standard menues and toolbars would simply require too much screen height. Maybe, I'll decide to detach the graphic map display from the control window, but I'm not sure about that, yet. If time permits, I'll try to get a demo out after this weekend.
Stay tuned
Yrkoon

Lives of great men all remind us we may make our lives sublime
PM
Bored of the Rings
GameGuru Master
19
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 21st Nov 2015 06:53
definitely will keep an eye on this.
Professional Programmer: Languages- SAS (Statistical Analysis Software) , C++, SQL, PL-SQL, JavaScript, HTML, Darkbasic Pro (still love this language), Purebasic, others
Hardware: Dell Precision 490; AMD Radeon HD 7570; LG TFT monitor (widescreen). Wanting a new PC at some point.
Interests: Drumming, Saxophone, Art, Theatre, Music.
yrkoon
20
Years of Service
User Offline
Joined: 14th Jan 2004
Location:
Posted: 23rd Nov 2015 22:15 Edited at: 27th Nov 2015 18:15
So, here it is: the first public beta demo Version of the D.E.E.R HUNTER.

Included with the zip file is a screenshot of the program's examination by Virus total.
Some very few functions are deliberately left out (it's a demo, you know ), but the core functions are there.

IMPORTANT: it's for Windows 64 bit only, win 7, 8, 8.1 should be fine, it has not been tested at all with win 10..
Be sure to use FULL HD SCREEN RESOLUTION because of the graphical Display of the full GG Mapsize.

I'm quite unhappy with the user Interface, but there is simply no space left for Standard Windows menues , Status lines and
toolbars.

It should not be necessary to run it as Administrator.

For Instructions, run the program and use the "Concepts&Help" Button.

This is mainly a functional release.

And, btw, this is my first ever public release of a program, so, please don't throw the BIG Stones at me, right away.

[Download Link moved to first post in this thread]
Lives of great men all remind us we may make our lives sublime
PM
Bored of the Rings
GameGuru Master
19
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 24th Nov 2015 06:39
excellent stuff , thanks very much, downloading now.
Professional Programmer: Languages- SAS (Statistical Analysis Software) , C++, SQL, PL-SQL, JavaScript, HTML, Darkbasic Pro (still love this language), Purebasic, others
Hardware: Dell Precision 490; AMD Radeon HD 7570; LG TFT monitor (widescreen). Wanting a new PC at some point.
Interests: Drumming, Saxophone, Art, Theatre, Music.
Pirate Myke
Forum Support
13
Years of Service
User Offline
Joined: 31st May 2010
Location: El Dorado, California
Posted: 26th Nov 2015 12:37
@yrkoon:

Fixed your link to your demo and downloading it to check it out.

Thank you.
Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2400 Mhz, 4 Core(s), 4 Logical Processor(s), 8gb RAM, Nvidia gtx660, Windows 7 Pro 64bit

yrkoon
20
Years of Service
User Offline
Joined: 14th Jan 2004
Location:
Posted: 26th Nov 2015 18:02
Thank you, Myke
Lives of great men all remind us we may make our lives sublime
PM
Pirate Myke
Forum Support
13
Years of Service
User Offline
Joined: 31st May 2010
Location: El Dorado, California
Posted: 27th Nov 2015 12:42
No problem. It works great. shows me where the objects are on the map, show me the rough map. Great Job.

I know you said the GUI was going to be worked on. When that happens maybe the window size adjustment on the GUI, Hangs over my vertical monitor height. I am at 1680 x 1050.

Now I am guessing I can have this open along side GameGuru. I have not tried yet.
Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2400 Mhz, 4 Core(s), 4 Logical Processor(s), 8gb RAM, Nvidia gtx660, Windows 7 Pro 64bit

yrkoon
20
Years of Service
User Offline
Joined: 14th Jan 2004
Location:
Posted: 27th Nov 2015 17:58
Thanks for the Feedback, Myke,
yes it runs fine alongside GG, but remember that you need to SAVE a map from GG before DH can read contents altered in GG. I didn't see a difference whether I re-generated a map by executing "test map" or not, but saving is all important.

If you really should manage to get GG to read the same map in in the very short time that DH reads it, you may see strange Errors in GG, but this is really, really hard to achieve. This was the reason why I opted for automatic extracts; it is otherwise all too easy to
* open an .fpm with 7zip,
* extract the necessary files,
* look at it with DH,
* forget to Close 7zip
* try to load the fpm in GG and watch it vomiting over the file being open in 7zip.

Yeah, the user Interface... I know, the problem being that the gross map size of GG always amounts to 1024x1024.
I lost my development machine with its trusty 3840x2160 Resolution for almost 2 weeks all in all through a foolish nvidia Driver update which put it down to FULL HD Resolution only, and the attempt to revert to the previous Driver ended up in the necessity to reinstall the machine from scratch ,

Detaching the graphics window and making it borderless could help a little, but will make additional effort necessary
to be able to move the graphics window around.

A matter-of-fact solution for many cases would be to confine the graphics window dimensions to the net
x,y size of the map, i.e. (max_x - min_x) * (max_y - min_y) over all heightpoints with non normal height (600.0),
since it seems that only very few maps really cover the gross size.

Yet another option were to use zooming (not sure how to do that) or paging landscape parts under a smaller window.

But for the Moment, until some more users will test DH and possibly come up with real program Errors to fix, I will go back to the heightmap processor/importer and bring that in shape.

I already managed to get an fpm heightmap shown using OGRE3D as Terrain engine, (if still a bit distorted), thus short-cutting the cumbersome and lengthy "edit heightmap externally" - "convert it to GG Format" - "load it into GG" - "test game compile" - "find that you don't like it" -"go back to external editing" cycle.


Lives of great men all remind us we may make our lives sublime
PM
Pirate Myke
Forum Support
13
Years of Service
User Offline
Joined: 31st May 2010
Location: El Dorado, California
Posted: 27th Nov 2015 18:19
Nice. Looking forward to it.
I will open them side by side and check it out.
Save first then open DH. Got it.

Thanks again.
Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2400 Mhz, 4 Core(s), 4 Logical Processor(s), 8gb RAM, Nvidia gtx660, Windows 7 Pro 64bit

yrkoon
20
Years of Service
User Offline
Joined: 14th Jan 2004
Location:
Posted: 27th Nov 2015 18:59
Quote: "Save first then open DH. Got it."



Uhmmm ... almost (and it is infact much easier).
You may keep both open all the time, and have DH read in any fpm, including the one currently loaded into GG, at any time,
but changes effected in GG's Editor will only go to the fpm file if and when you perform "save" in the Editor. No Need to Exit from GG. But DH needs the file, because GG doesn't provide shared Memory.
Lives of great men all remind us we may make our lives sublime
PM
Bored of the Rings
GameGuru Master
19
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 27th Nov 2015 19:39
trying out this tool now...
Professional Programmer: Languages- SAS (Statistical Analysis Software) , C++, SQL, PL-SQL, JavaScript, HTML, Darkbasic Pro (still love this language), Purebasic, others
Hardware: Dell Precision 490; AMD Radeon HD 7570; LG TFT monitor (widescreen). Wanting a new PC at some point.
Interests: Drumming, Saxophone, Art, Theatre, Music.
Bored of the Rings
GameGuru Master
19
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 27th Nov 2015 20:16
this is an excellent tool, extremely helpful... well done!!!!!
Professional Programmer: Languages- SAS (Statistical Analysis Software) , C++, SQL, PL-SQL, JavaScript, HTML, Darkbasic Pro (still love this language), Purebasic, others
Hardware: Dell Precision 490; AMD Radeon HD 7570; LG TFT monitor (widescreen). Wanting a new PC at some point.
Interests: Drumming, Saxophone, Art, Theatre, Music.
yrkoon
20
Years of Service
User Offline
Joined: 14th Jan 2004
Location:
Posted: 28th Nov 2015 05:13
thanks for your feedback, BotR .
Lives of great men all remind us we may make our lives sublime
PM
cybernescence
GameGuru Master
11
Years of Service
User Offline
Joined: 28th Jan 2013
Playing: Cogwheel Chronicles
Posted: 29th Nov 2015 12:56
I've tried it too - nice work. I see what you mean about the map size and available screen real-estate to display. I guess a pan and zoom within a separate window is the way I've usually seen this handled, but you're right that will lose the 'impact' of seeing the full map (with associated full entity searching).
My resolution is 1920x1080 and it's a very close fit.

Thanks for letting me try it out.

One of the use cases I thought of (not your original maybe), was that it could be used to export an exact 2D map of the finished terrain for in-game display - as we can plot player position and other entities over the top soon with the sprite update
yrkoon
20
Years of Service
User Offline
Joined: 14th Jan 2004
Location:
Posted: 29th Nov 2015 15:29
Ooops... just applied DeerHunter to Colosso's compiled Demo Game and found that DH lends itself to cheating, even with compiled games.... not really what I had in mind, but then again: "he who cheates betrayeth himself".

Yes, Cybernescence, a minimap would be possible, maybe as a simplified/restricted Version of DH, but I don't see a chance to integrate it with GG. If there were some kind of configurable user exit, it would doable.

I'll think about the minimap.
Lives of great men all remind us we may make our lives sublime
PM

Login to post a reply

Server time is: 2024-04-20 13:27:57
Your offset time is: 2024-04-20 13:27:57