• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

TUTORIAL: Fixing Bad Rope Data

kevinatlanta

Sailor
Storm Modder
Fixing "bad rope data" using GM_Viewer and Inez Diaz TOOL.

You might have seen a missing rope on a ship (not to be confused with THINKING a rope should be there or WANTING a NEW rope). Or you might have looked into your system.log file and seen a "Bad rope data for rope" message. Or you might be curious and want to verify all the rope connections for a certain ship model. If so, here is a tutorial of how to fix bad rope data, using real life examples.

A quick course on ropes: All ropes must have a BEGIN (ropebXX) and END (ropeeXX) point. They can be strung (and usually are) across the various GM models, i.e., from the hull to a mast or a rey (or a sail hung from a rey). Most rope errors will not cause a game crash, but they can be annoying.

Fixing rope errors is a time consuming and detail-oriented process. Take your time and try to fix one rope set at a time. Then test your results, then go to the next rope set.

For more technical details, see Nathan Kell's Sails, Ropes and Flags tutorial.
<a href="http://robotsdontbleed.com/wacko/wakka.php?wakka=SailsRopesAndFlags&v=z5s" target="_blank">http://robotsdontbleed.com/wacko/wakka.php...Flags&v=z5s</a>

GM Viewer and TOOL are available here: <a href="http://www.s31clan.com/privateftps/pietersmods/" target="_blank">http://www.s31clan.com/privateftps/pietersmods/</a>


Disclaimer: I am NOT an expert on this. I simply put together a tutorial from my trial-and-error projects.


--->>> Kevin Atlanta <<<---


...EXAMPLES FOLLOW...
 
<b>Example #1:</b>

SHIP MODEL: Bermuda Sloop (bermsloop163)
Originally introduced in Build 13 ?
This fix also applies to the Super Bermuda Sloop (bermsloop263)

I noticed some missing rope lines on this ship while sailing and decided to investigate. This is a simple fix, since the cause was a typo in two places.

Invisible / Missing Ropes: Caused by incorrect rope mapping. Currently this way in the builds.
<div align="center"><a href="http://img141.imagevenue.com/img.php?image=28104_norope1_122_159lo.jpg" target="_blank"><img src="http://img141.imagevenue.com/loc159/th_28104_norope1_122_159lo.jpg" border="0" class="linked-image" /></a><a href="http://img144.imagevenue.com/img.php?image=28107_norope2_122_832lo.jpg" target="_blank"><img src="http://img144.imagevenue.com/loc832/th_28107_norope2_122_832lo.jpg" border="0" class="linked-image" /></a><a href="http://img192.imagevenue.com/img.php?image=28112_norope3_122_212lo.jpg" target="_blank"><img src="http://img192.imagevenue.com/loc212/th_28112_norope3_122_212lo.jpg" border="0" class="linked-image" /></a><a href="http://img184.imagevenue.com/img.php?image=28117_norope4_122_380lo.jpg" target="_blank"><img src="http://img184.imagevenue.com/loc380/th_28117_norope4_122_380lo.jpg" border="0" class="linked-image" /></a></div>

Let's start by opening <b>GM_Viewer</b> and find the "rope errors". Navigate to the folowing directory /RESOURCE/MODELS/Ships/bermsloop163 and open the various GM models, one at a time. Click on "Show Labels" (and optionally "Show Locators"). Some of the labels can be hard to see, since they are on top of each other, but you can move the mouse around and get a better view (most of the time). If you have a wheel mouse, the wheel zooms in and out.

We will also open Inez Diaz' <b>TOOL</b> and open the same model as above, then click on View->Locators - which will show us the actual rope data coordinates in X (port to starboard), Y (bow to stern) and Z (up and down in the height dimension). Rope info is shown as "ropebXX" (begin point of the rope) and "ropeeXX" (end point of the rope) and where XX is the number of the rope.

<div align="center">
<a href="http://img162.imagevenue.com/img.php?image=38311_TOOL01_View_122_937lo.JPG" target="_blank"><img src="http://img162.imagevenue.com/loc937/th_38311_TOOL01_View_122_937lo.JPG" border="0" class="linked-image" /></a> <a href="http://img21.imagevenue.com/img.php?image=38316_TOOL02_Locators_122_874lo.JPG" target="_blank"><img src="http://img21.imagevenue.com/loc874/th_38316_TOOL02_Locators_122_874lo.JPG" border="0" class="linked-image" /></a>
</div>

We will work through all the models in the referenced directory one at a time.

<u>bermsloop163.gm</u>
No problem ropes.

<u>bermsloop163_mast1.gm</u>
No problem ropes.

<u>bermsloop163_mast2.gm</u>
No problem ropes.

<u>bermsloop163_rey_a2.gm</u>
robeb4 -> rename to ropeb4 in TOOL
robeb5 -> rename to ropeb5 in TOOL
Click APPLY, then SAVE the ".gm" model. It will be named as "bermsloop163_rey_a2_x.gm". Rename the original file as bermsloop163_rey_a2.gm.BAK, then rename "bermsloop163_rey_a2_x.gm" to "bermsloop163_rey_a2.gm". That's it!

Here's what it looks like originally:
<a href="http://img170.imagevenue.com/img.php?image=38173_TOOL_bermsloop163_rey_a2_gm_122_700lo.jpg" target="_blank"><img src="http://img170.imagevenue.com/loc700/th_38173_TOOL_bermsloop163_rey_a2_gm_122_700lo.jpg" border="0" class="linked-image" /></a>

Here's the FIXED version:
<a href="http://img124.imagevenue.com/img.php?image=38174_TOOL_bermsloop163_rey_a2_gm_FIXED_122_1112lo.jpg" target="_blank"><img src="http://img124.imagevenue.com/loc1112/th_38174_TOOL_bermsloop163_rey_a2_gm_FIXED_122_1112lo.jpg" border="0" class="linked-image" /></a>

<u>bermsloop163_rey_a3.gm</u>
No problem ropes.

<u>bermsloop163_rey_b2.gm</u>
No problem ropes.

<u>bermsloop163_rey_b3.gm</u>
No problem ropes.

<u>bermsloop163_rey_c2.gm</u>
No problem ropes.


So, we corrected this rope problem with one simple fix of a typo in bermsloop163_rey_a2.gm with TOOL.

Fixed Ropes: Correct rope mapping.
<div align="center"><a href="http://img181.imagevenue.com/img.php?image=28223_rope1_122_178lo.jpg" target="_blank"><img src="http://img181.imagevenue.com/loc178/th_28223_rope1_122_178lo.jpg" border="0" class="linked-image" /></a><a href="http://img45.imagevenue.com/img.php?image=28223_rope2_122_1175lo.jpg" target="_blank"><img src="http://img45.imagevenue.com/loc1175/th_28223_rope2_122_1175lo.jpg" border="0" class="linked-image" /></a><a href="http://img12.imagevenue.com/img.php?image=28234_rope3_122_1122lo.jpg" target="_blank"><img src="http://img12.imagevenue.com/loc1122/th_28234_rope3_122_1122lo.jpg" border="0" class="linked-image" /></a><a href="http://img184.imagevenue.com/img.php?image=28239_rope4_122_367lo.jpg" target="_blank"><img src="http://img184.imagevenue.com/loc367/th_28239_rope4_122_367lo.jpg" border="0" class="linked-image" /></a></div>


And now on to a more complicated example.
 
Example #2:

SHIP MODEL: HeavyWarship
Originally introduced in Build 14 Alpha 6/7
OLD NAME - SOL74gun (CapnHawk)
NOTE: some of the pix will show "PiratWarship" since I changed the name of the model to work on a "clean" model.

I took a sample system.log file from a SOLO sailing session with no other ships in the scene. Notice from the file contents shown below that we have ten rope errors, five with missing BEGIN rope info (ropebXX) and five with missing END rope info (ropeeXX). This five and five error situation would be a good place to start, since this is probably not a coincidence. We can surmise that maybe the ropes were mis-numbered and all we have to do is connect the right begin and end ropes (by renumbering them). Your problem ship may not be like this, so DO NOT assume that every situation will be like this. Typos are just as common, as well as out-and-out missing data.

Code:
Bad rope data for rope: (rope num = 13) (begin group=0, end group=-1)
Begin pointer = 0? end pointer = 156545116
Bad rope data for rope: (rope num = 2) (begin group=0, end group=-1)
Begin pointer = 0? end pointer = 156545116
Bad rope data for rope: (rope num = 22) (begin group=0, end group=-1)
Begin pointer = 0? end pointer = 156545116
Bad rope data for rope: (rope num = 56) (begin group=0, end group=-1)
Begin pointer = 0? end pointer = 156545116
Bad rope data for rope: (rope num = 516) (begin group=0, end group=-1)
Begin pointer = 0? end pointer = 153783948
Bad rope data for rope: (rope num = 522) (begin group=-1, end group=0)
Begin pointer = 153783948? end pointer = 0
Bad rope data for rope: (rope num = 706) (begin group=0, end group=0)
Begin pointer = 153099428? end pointer = 0
Bad rope data for rope: (rope num = 705) (begin group=0, end group=0)
Begin pointer = 153099428? end pointer = 0
Bad rope data for rope: (rope num = 711) (begin group=-1, end group=0)
Begin pointer = 152582892? end pointer = 0
Bad rope data for rope: (rope num = 5) (begin group=0, end group=0)
Begin pointer = 154263084? end pointer = 0

Let's start by opening GM_Viewer and find the "rope errors". Navigate to the folowing directory /RESOURCE/MODELS/Ships/HeavyWarship and open the various GM models, one at a time. Click on "Show Labels" (and optionally "Show Locators"). Some of the labels can be hard to see, since they are on top of each other, but you can move the mouse around and get a better view (most of the time). If you have a wheel mouse, the wheel zooms in and out.

We will also open Inez Diaz' TOOL and open the same model as above, then click on View->Locators - which will show us the actual rope data coordinates in X (port to starboard), Y (bow to stern) and Z (up and down in the height dimension). Rope info is shown as "ropebXX" (begin point of the rope) and "ropeeXX" (end point of the rope) and where XX is the number of the rope.




We will work through all the models in the referenced directory one at a time.

HeavyWarship.gm
In GM_Viewer, we find that we have four of the problem ropes in this model, all as END points of a rope (notice the ropes are named as "ropeeXX"). We can verify these in TOOL also. These ropes need to be connected to a rope of the same number with a BEGIN point ("ropebXX"). However, we don't yet know where these are located.
- ropee2 (bow port)
- ropee22 (bow starboard)
- ropee13 (stern starboard)
- ropee56 (starboard towards the bow, above "cannon 101")




HeavyWarship_mast1.gm
No problem ropes.

HeavyWarship_mast2.gm
No problem ropes.

HeavyWarship_mast3.gm
No problem ropes.

HeavyWarship_mast4.gm
ropeb522 (top of the mast)
no other info yet
ropee516 (mid mast)
TOOL tells us the locator group is on mast2? Could that be the problem?
This MAY cause problems for us later (being grouped to mast2).
The same set of sails on mast2 or mast3 might give us some better info.
We will also look into what is "reasonable" for a rope from this location.




HeavyWarship_mast5.gm
No problem ropes.

HeavyWarship_rey_a1.gm
No problem ropes.

HeavyWarship_rey_a2.gm
ropeb5 (bottom of the sail)
- Where is the corresponding ropeb6 attached? That will tell us where this one needs to be.
ropee6 is located adajcent to ropee56 on the hull, so ropeb5 is probably connected to ropee56 (typo?).




HeavyWarship_rey_a3.gm
No problem ropes.

HeavyWarship_rey_a4.gm
ropeb705 (connected to bottom of sail)
ropeb706 (connected to bottom of sail)
- Could these connect to ropee2 (bow port) and ropee22 (bow starboard) on the hull (HeavyWarship.gm)?




HeavyWarship_rey_a5.gm
No problem ropes.

HeavyWarship_rey_b2.gm
No problem ropes.

HeavyWarship_rey_b3.gm
No problem ropes.

HeavyWarship_rey_b4.gm
No problem ropes.

HeavyWarship_rey_c2.gm
No problem ropes.

HeavyWarship_rey_c3.gm
No problem ropes.

HeavyWarship_rey_c4.gm
No problem ropes.

HeavyWarship_rey_d4.gm
ropeb711
- Could this rope connect to ropee13 on HeavyWarship.gm?




A side note. You need to make sure that none of the seemingly bad rope data is caused by something else. Which means that you need to verify that there are, in fact, missing BEGIN or END points for the ropes. So, you will need to look at each ".gm" file in the directory of the ship you are attempting to fix and verify your assumptions. If there was another ship (or ships) in the scene when you got your system.log file, they could be the cause of some of the bad rope data and not the ship model you are working on. Also, some folks have reported that certain graphics cards can cause rope errors to show up in your system.log file, however, I haven't been able to personally verify this.

====================
 
EXAMPLE #2 (continued):


OK, to summarize to this point, we've found all ten rope errors and mapped them to a ".gm" model.

Here's where we need to test our theory and see if these make sense. We are pretty confident that a couple of fixes are correct, so let's make those changes and test them in game.

ALL THE FOLLOWING WILL BE CHANGED IN "TOOL".

1. HeavyWarship.gm: ropee56 (appears to be a typo, so rename to ropee5) -> HeavyWarship_rey_a2.gm: ropeb5
2. HeavyWarship.gm: ropee13 -> HeavyWarship_rey_d4.gm: ropeb711 (rename to ropeb13)

In TOOL, click APPLY, then SAVE the ".gm" model. It will be named as "MODELNAME_x.gm". Rename the original file as "MODELNAME.gm.BAK", then rename "MODELNAME_x.gm" to "MODELNAME.gm". That's it!

<div align="center">
<a href="http://img185.imagevenue.com/img.php?image=53689_TOOL08_HeavyWarship_gm_FIXED_122_525lo.jpg" target="_blank"><img src="http://img185.imagevenue.com/loc525/th_53689_TOOL08_HeavyWarship_gm_FIXED_122_525lo.jpg" border="0" class="linked-image" /></a> <a href="http://img19.imagevenue.com/img.php?image=53694_TOOL09_HeavyWarship_rey_d4_gm_FIXED_122_925lo.jpg" target="_blank"><img src="http://img19.imagevenue.com/loc925/th_53694_TOOL09_HeavyWarship_rey_d4_gm_FIXED_122_925lo.jpg" border="0" class="linked-image" /></a>
</div>

This leaves us with six remaining rope errors (three BEGIN and three END). So the fix possibilities are limited.

These don't make sense to link together:
3. HeavyWarship.gm: ropee2 -> HeavyWarship_rey_a4.gm: ropeb706 (rename to ropeb2) <- DELETE THESE ENTRIES
4. HeavyWarship.gm: ropee22 -> HeavyWarship_rey_a4.gm: ropeb705 (rename to ropeb22) <- DELETE THESE ENTRIES
Linking these ropes runs them through the sails and it makes a VERY small sail on mast 4, lowest rey
It makes sense to delete these unlinked ropes from HeavyWarship.gm and HeavyWarship_rey_a4.gm. They serve no functional purpose. Also delete the tiny sail on rey_a4 (all four of the "sail" entries).

In TOOL, click APPLY, then SAVE the ".gm" model. It will be named as "MODELNAME_x.gm". Rename the original file as "MODELNAME.gm.BAK", then rename "MODELNAME_x.gm" to "MODELNAME.gm". That's it!

<div align="center">
<a href="http://img185.imagevenue.com/img.php?image=53689_TOOL08_HeavyWarship_gm_FIXED_122_525lo.jpg" target="_blank"><img src="http://img185.imagevenue.com/loc525/th_53689_TOOL08_HeavyWarship_gm_FIXED_122_525lo.jpg" border="0" class="linked-image" /></a> <a href="http://img180.imagevenue.com/img.php?image=53845_TOOL10_HeavyWarship_rey_a4_gm_FIXED_122_235lo.jpg" target="_blank"><img src="http://img180.imagevenue.com/loc235/th_53845_TOOL10_HeavyWarship_rey_a4_gm_FIXED_122_235lo.jpg" border="0" class="linked-image" /></a>
</div>

5. HeavyWarship_mast4.gm: ropeb522 -> HeavyWarship_mast4.gm: ropee516 (rename to ropee522)
WHY? They are on the same mast and serve no functional purpose. These may have been leftover from an old ship? However, TOOL will not allow us to delete ropee516, so we are forced to connect them. This apears to be one of those unknown anamolies. However, it works and there are no more rope errors. Note: you CAN delete ropee516, however TOOL will not properly save the ".gm" file - it crashes.

In TOOL, click APPLY, then SAVE the ".gm" model. It will be named as "MODELNAME_x.gm". Rename the original file as "MODELNAME.gm.BAK", then rename "MODELNAME_x.gm" to "MODELNAME.gm". That's it!

<div align="center">
<a href="http://img25.imagevenue.com/img.php?image=54035_TOOL11_HeavyWarship_mast4_gm_FIXED_122_677lo.jpg" target="_blank"><img src="http://img25.imagevenue.com/loc677/th_54035_TOOL11_HeavyWarship_mast4_gm_FIXED_122_677lo.jpg" border="0" class="linked-image" /></a>
</div>

Viola! No more rope errors!

Hopefully this tutorial will give you a little help in fixing ropes and possibly adding new ones!


--->>> KevinAtlanta <<<---
 
Thanks a lot for tackling this old problem <img src="style_emoticons/<#EMO_DIR#>/onya.gif" style="vertical-align:middle" emoid=":onya" border="0" alt="onya.gif" /> , and thanks for sharing your knowledge <img src="style_emoticons/<#EMO_DIR#>/me.gif" style="vertical-align:middle" emoid=":onya" border="0" alt="me.gif" />

Would you mind if we move this thread into the sticky section of the "Alpha.." subforum, so that it won't get lost?
 
<!--quoteo(post=217559:date=Oct 13 2007, 01:04 PM:name=CouchcaptainCharles)--><div class='quotetop'>QUOTE(CouchcaptainCharles @ Oct 13 2007, 01:04 PM) [snapback]217559[/snapback]</div><div class='quotemain'><!--quotec-->Thanks a lot for tackling this old problem <img src="style_emoticons/<#EMO_DIR#>/onya.gif" style="vertical-align:middle" emoid=":onya" border="0" alt="onya.gif" /> , and thanks for sharing your knowledge <img src="style_emoticons/<#EMO_DIR#>/me.gif" style="vertical-align:middle" emoid=":onya" border="0" alt="me.gif" />

Would you mind if we move this thread into the sticky section of the "Alpha.." subforum, so that it won't get lost?<!--QuoteEnd--></div><!--QuoteEEnd-->

Move it away... <img src="style_emoticons/<#EMO_DIR#>/icon_wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="icon_wink.gif" />

kevin
 
Done. I was thinking that rather than having a long list of stickies, we should add one sticky including a forum index with links to the most notable posts. That way they wouldn't get lost either, but it would save us having a lot of stickies. However, somebody'd need to find the most notable posts for that though.
 
Back
Top