Author Topic: Is there a zone viewer for CoH?  (Read 3905 times)

redgiant

  • Lieutenant
  • ***
  • Posts: 63
Is there a zone viewer for CoH?
« on: November 16, 2012, 05:32:46 AM »
Preferably with view physics simulation for movement via flight, superspeed or superjump. Bonus for a walk mode with bobbing.

Sort of like EQ has had, to view all the zones offline but with no dynamic objects/people present.

Also nice to have a God-mode toggle for dealing with dynamic closed doors, so you can just go through anything (but normally you wouldn't want this on or you'd just fly through buildings and floors).

Aggelakis

  • Elite Boss
  • *****
  • Posts: 3,001
Re: Is there a zone viewer for CoH?
« Reply #1 on: November 16, 2012, 05:51:00 AM »
Nope. You can build demo edits with a lot of patience and a lot of time (and a lot of practice).
Bob Dole!! Bob Dole. Bob Dole! Bob Dole. Bob Dole. Bob Dole... Bob Dole... Bob... Dole...... Bob...


ParagonWiki
OuroPortal

Mr. Wentworth

  • Lieutenant
  • ***
  • Posts: 91
  • "I aim to misbehave..."
    • Real World Hero
Re: Is there a zone viewer for CoH?
« Reply #2 on: November 16, 2012, 07:21:48 AM »
Actually, you can do this in a way. Go into a zone and do a quick demorecord for just a few seconds or so. Then load the demorecord and press F2 to enter free-camera mode, which allows you to fly the camera around the entire zone. It was a feature added for I24 and Black Pebble leaked it to the players after the sunset announcement. There is a thread on the COH boards with additional information here:

http://boards.cityofheroes.com/showthread.php?t=297561

So, you could go to each zone and save a quick demorecord for each, then use the client to play back the demorecord using the F2 feature to move the camera as you wish to explore the zone.

redgiant

  • Lieutenant
  • ***
  • Posts: 63
Re: Is there a zone viewer for CoH?
« Reply #3 on: November 16, 2012, 08:50:12 AM »
Ah, thanks the /demorecord and F2 thing is good. Too bad they didn't have time to make it honor mouse_invert and all sorts of other things but as a general escape hatch to God-mode fly around it's as good as it will get at this point.

A couple more questions:

1. Does Cheat Engine's speedhack work to accelerate the movement rate, which is slow (it's okay by base standards I guess, but way too slow to peruse zones)? If no one knows I will experiment.

2. Is Titan or any public site archiving 1 second demorecords of every zone, for use with this F2 feature? It would be a HUGE benefit to literally every player to just d/l a ready-made tiny <zone>.cohdemo file, or package of them, to do a nostalgic offline flight tour.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Is there a zone viewer for CoH?
« Reply #4 on: November 16, 2012, 12:07:50 PM »
1. Does Cheat Engine's speedhack work to accelerate the movement rate, which is slow (it's okay by base standards I guess, but way too slow to peruse zones)? If no one knows I will experiment.

http://www.cohtitan.com/forum/index.php/topic,5623.msg61809.html

Evangel - Project 7

  • Minion
  • **
  • Posts: 28
  • Never Surrender.
Re: Is there a zone viewer for CoH?
« Reply #5 on: November 16, 2012, 05:40:04 PM »
I plan to post this in its own thread when I have it complete, but essentially I have used the demorecord and a combination of mathematical graphing to create a very accurate positioning system for the maps of CoH. I'm not sure if this is what you're aiming for but here's what I did, I'll use AP as an example:

1) I mapped each corner of AP using demorecord and got the following coordinates for the map, using "top" and "bottom" in coordination with how the map looks in the view window in game. Positions are in x,y,z with x being the horizontal, z being the vertical (when looking at the map from birdseye view) and y being the height of the object on the map:

Bottom Left: 2815 -25.843838 1023
Bottom Right: -1792 20.917597 1023
Top Right: -1792 16.555946 -2432
Top Left: 2815 18.061245 -2432

For purposes of mapping I ignore the Y coordinate as that can be determined through basic trial and error when mapping later on, as far as I can tell each integral is equal to about 1 foot so you can use your zone knowledge to think "oh, that bridge is about 20 feet off the ground", etc...


2) I took a picture of AP's map from the wiki and pasted it onto a simple square in Google Sketchup - a program that allows you to accurately build shapes based on feet measurement which, as stated above, seems to be the rough estimate for each coordinate integral in the game. Using the above coordinates we can determine that AP is 4,608' by 3,455'. But based on the positive to negative ratio the map is actually read 180' opposite from how it appears in the view finder in game, so the bottom right of the map in the game actually belongs in the top left when viewing it as a graph, if that makes sense.


3) Using either a demorecord or math, I calculate 0,0,0 on the map and center the Sketchup model so that 0,0,0 corresponds with the center of the x,y,z plane. And the result is this:






Now you can accurately find a coordinate (x,z) anywhere in AP using the measurement tool in Sketchup. So if I want to place a character at, say, the tram station, I can measure out:


x-coordinate:


z-coordinate:



Now I put them into the demorecord, assuming that the tram station is probably about 74 feet up from ground level (actually I cheated, I guessed 70 but when I tested the record I noticed I was off a few feet) so my position would be 690, 74, -1399. I make a simple demorecord:



You'll notice I placed the camera a dozen or so feet further on the x plane, so that Evangel would be in view. Also, I'm not going to bother explaining the PYR functions right now as this is just an example to answer your question... albeit a lonnnngggg example :)


Once I dump that demo I get this pretty little record that has Evangel placed nicely where I wanted him:






If that helps at all, I do plan to post a full thread with links to files people can download to use this for demo-editing post sunset, so capture all your characters' skins and such so you can "play" after the game is done! If this doesn't answer your question at all then at least think of it as:





Go. Hunt. Save CoH.
Evangel | Infinity Server





 
Go. Hunt. Save CoH.
Evangel | Infinity Server

Globetrotter

  • Boss
  • ****
  • Posts: 169
  • I am a still Hero and This is what I do!
Re: Is there a zone viewer for CoH?
« Reply #6 on: November 16, 2012, 08:21:35 PM »
Signs up for Evangel Class :-)
Gutta cavat lapidem, non vi, sed saepe cadendo.

Blondeshell

  • Elite Boss
  • *****
  • Posts: 789
Re: Is there a zone viewer for CoH?
« Reply #7 on: November 16, 2012, 10:46:29 PM »
If that helps at all, I do plan to post a full thread with links to files people can download to use this for demo-editing post sunset, so capture all your characters' skins and such so you can "play" after the game is done!

Will the XML files generated by Sentinel+ be sufficient for inserting character info into the demos?

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Is there a zone viewer for CoH?
« Reply #8 on: November 16, 2012, 10:58:25 PM »
Will the XML files generated by Sentinel+ be sufficient for inserting character info into the demos?

Yes, the costume info dumped in the XML file is the same as is used in demorecords, just slightly different formatting. It should be trivial to write a script to convert them; though you'll need some way of telling it which costume to use, since the XML includes all of them.

Evangel - Project 7

  • Minion
  • **
  • Posts: 28
  • Never Surrender.
Re: Is there a zone viewer for CoH?
« Reply #9 on: November 17, 2012, 04:16:44 PM »
I believe it should be simple to copy that over as well, but I'd be safe and just capture a quick demo file. Better safe than sorry, as they say.


I made a quick how-to tutorial in the official Evangel Map thread here.



Go. Hunt. Record CoH.
Evangel | Infinity Server
Go. Hunt. Save CoH.
Evangel | Infinity Server

redgiant

  • Lieutenant
  • ***
  • Posts: 63
Re: Is there a zone viewer for CoH?
« Reply #10 on: November 20, 2012, 04:25:24 AM »
And yes, that is more or less the sort of thing I want to do with demorecord; automate a way to take someone's character info, inject it into a pre-made "blank" zone map, and perhaps move them around each time you hit a certain key.

I doubt I can figure out how to integrate actual movement, since that would either need access to the code and PS  libraries they use to construct tools like demorecord, or figure out ala Camerman how to inject the right data structures to make it happen assuming that sort of thing can be driven by data changes. But it would look more like actually playing the game and flying around.

Although ... if Cameraman is smart enough to scan and inject position changes to perform the speedup function it has, then maybe it could be made smart enough to do these things:

- have an Invert Y checkbox to monitor for mouse movement and flip the mouselook events' Y coord difference so the client looks the opposite (down or up). Moving faster via Cameraman drives me even crazier that I can't invert Y axis - I just fly into the ground that much faster,

- monitor WASD movement and emulate making your character fly with it (I'm assuming demorecord as written only reads the script up-front once and loads the objects). This might be beyond anyone outside the dev's knowledge of how/if you can inject data to make the object actions of your character happen (position changes, flying mode, etc). I imagine the devs would never bother with this - they just use their own APIs to do it.

Or has anyone tried doing these?
« Last Edit: November 20, 2012, 04:32:46 AM by redgian »

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Is there a zone viewer for CoH?
« Reply #11 on: November 20, 2012, 06:01:43 AM »
Cameraman doesn't change the position to do the speedup. It *could* do that, and eventually if I ever get spare time again, I wanted to make it so you could input coordinates manually.

To increase the speed it just changes an internal client variable called speedscale -- there's also a dev-only slash command that modifies that. Speedscale acts as a multiplier for any movement, and in the Issue 24 beta client, the free camera movement is increased by speedscale. Easy peasy.

However Issue 23 is a lot trickier, since the free camera there is much clunkier and ignores speedscale. So when Cameraman detects an Issue 23 client, it hot-patches the code in memory, inserting an extra multiply so that the speedscale gets applied.

For I24, I might could tweak it to reverse the controls. With I23... it's already REALLY cramped with the patching I'm doing to make speedscale work, so I don't know if anything else can fit there.