-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Several incorrect mmp.envids for Achaea. #16
Comments
I'll need to grab room environs for @QwindorRousseau to update the crowdmap for these changes, but I'll have these changes done in a bit. |
Anyone know how to go about changing an environment colour? I know I've looked into this in the past, and there's a way other than setCustomEnvColor(), so it doesn't show up in that table. No bloody clue how it's done though. |
Looking through the mudlet code, I can't see a way to do so. But it seems custom environment colors are exported into the map as well (no sure from which version on). |
I remember having to add environments awhile back and there was something you had to do to the environments when put into the table to use the color you want. Ill have to look into it and see what i can remember but I do remember it was a pain. |
@vadi2 Any input? |
Howdy - as an actively contributing Mudlet Maker - I'm looking at the C++ in that area at the moment and that area of color/environment looks to be a bit convoluted! I'd give a long winded explanation but simply put during the reading of a Xml map file from the IRE MUD servers (including Achaea) there is a table of envIds (a property of each map room) to a colorId where colors 1-15 are the ANSI standard colours that the user can tweak in the game settings and 16 upwards (I think) are what ever gets set by setCustomEnv commands. The current Achaea Xml file has:
Mudlet only reads the "id" and "color" values at the moment and stores them ("id" as key, "color" as value) in When it comes to drawing a room it's environment value (readable with If someone wishes to have different colour for those two they will currently have to never use the IRE downloaded map (I think) or ensure that they use envIds that are NOT used as a key in the TMap::envColor table (i.e. listed in the XML downloaded file that was used) so that Mudlet will use a customEnvColor entry instead. I have looked at all five (?) of the current IRE XML maps and Aetolia has the highest envId of 126 - as you can see Achaea uses up to 42 at the moment. |
I think changing the colours in Mudlets options will change the colours on On Sun, Oct 9, 2016 at 3:54 PM Stephen Lyons notifications@github.com
|
Yeah - for ALL the envIds that are mapped to those first 16 colours - i.e. all of the ones in the Xml files - if you wanted to change the colour for just rooms with say envId 5 you'd have to change all the rooms with envId 5 to something not in the table (so greater than 42) and then set the corresponding colour via Lua (I can't recall whether existing custom colours can be tweaked from the 2D mapper "color" or was it "environment" room context menu item... at present the TMap::envColors will lock envId 5, 6 and 21 together with no means of user control of that linkage. Assuming of course that the person who started the Achaea crowdmap file available here are using a Mudlet save file that started as an Xml file that was downloaded from the IRE site. |
So the only way to push those colours to the crowdmap would be to have him re-download that map? Seems like there's a workaround in there somewhere, but I ain't gonna be the one to dig for it. |
mmp.envids as populated in register_achaeas_envdata() has several terrains in the table with duplicate ids. This serves to neuter the mmp.envidsr table when it is generated, which results in rooms reporting the incorrect terrain when translating back from the map's terrain id to a terrain type.
The latter entries in mmp.envids are preserved in mmp.envidsr while the earlier entries are overwritten.
Catacombs and Mountains both share id 14, resulting in entry 14 in mmp.envidsr always returning Mountains. Thus the Azdun catacombs in the crowdmap will erroneously report as Mountains when trying to translate their terrain back from id 14. Even if you manually remap the rooms to Catacombs, it will again save as id 14 and be reported back as Mountains.
Shared ids are:
Catacombs and Mountains share id 14
River and Skies share id 10
Deep Ocean floor and Water share id 30
The text was updated successfully, but these errors were encountered: