mume / mmapper Goto Github PK
View Code? Open in Web Editor NEW๐งโโ๏ธ MMapper is a graphical MUD client for the game MUME (Multi-Users in Middle-earth)
Home Page: https://mume.github.io/MMapper
License: GNU General Public License v2.0
๐งโโ๏ธ MMapper is a graphical MUD client for the game MUME (Multi-Users in Middle-earth)
Home Page: https://mume.github.io/MMapper
License: GNU General Public License v2.0
Gnome/Cinnamon window managers freeze for me after MMapper tries to connect to unavailable group manager server (observed on Fedora 21). Happened both for the latest version but also for bit older one (48903be).
The mmapper is sending \r\n regardless what the system will send for user typed input. So it is visible mmapper generated input.
Often when connecting to group manager, the connection will soon interrupt for some reason and you will be kicked out. Only then after you reconnect, it stays stable.
Hello,
I was recently experimenting with running my own mapper on top of the MMapper raw XML mode, in order to benefit from the group manager among other things. I have found a few issues with MMapper's raw mode, mainly because it doesn't appear to be a true XML pass-through of the game's XML.
<, >, &, ', and "
in all strings, except obviously the beginning and end of tags themselves. Mume's XML output does this, MMapper's raw output does not. This understandably leads to any XML parser that sits on top of the MMapper raw XML connection becoming unstable and data being lost.'>'
meant my XML parser was breaking quite frequently.Thanks very much.
Rooms should have flags for word of recall spots (separate for whitie & darkie) and it would also be nice if word-spot-region boundaries were highlighted (edited either via exit flags manually or deduced from room->recall-room mappings).
Currently, mmapper allows to specify light status for every room:
But in MUME there are actually at least 4 cases:
I suggest adding the new 2 states. Also the direct sun should be rendered somewhat differently than the other light statuses. And finally when playing troll, direct sun light statuses could automatically get mapped from exits such as ^north^ or *north* (both mean that room north has direct sun).
It would be nice if MMapper hinted the direction of other connected players via group-manager in case their location is not rendered in currently visible part of the map.
Something like a small line or dot of player's colour would be rendered at border of the rendered map at appropriate position.
Being able to use the "select rooms" function and after that "add to unvisited rooms queue" or similar. This would mark the rooms with some noticeable color filter. As the rooms are entered, they are removed from the queue and returns to being marked as usual.
This would greatly reduce difficulty of tp-ing and finding questmobs and similar.
Please make a compiled 2.4.x release that we can point new players to.
I just noticed that recent versions of my map with updated newbie areas are probably incompatible with the released 2.3.x versions as the file format changed.
Thanks!
implement a plain text mode in mmapper. I'm thinking at the following:
Using the "move map" option, the map moves very slowly and locks up responsiveness of application. It seems that it re-draws the entire map for each pixel moved in any direction. This behaviour is not seen with version 2.2.1.
Attachment: Movie uploaded for reference. Note that it is an mkv movie uploaded as gif to trick github file upload permissions.
Making the MMapper Client window taller shouldn't increase the height of the input line, IMO.
Exact same thing when trying to build manually. 2.3.6 works fine.
Process: mmapper [6689]
Path: /Applications/mmapper.app/Contents/MacOS/mmapper
Identifier: mmapper
Version: 2.4.0 (2.4.0)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: mmapper [6689]
User ID: 501
Date/Time: 2017-12-30 08:36:18.600 +0200
OS Version: Mac OS X 10.13.1 (17B48)
Report Version: 12
Bridge OS Version: 3.0 (14Y618b)
Anonymous UUID: 1FB8215B-A374-762F-A670-A857170E9A2C
Sleep/Wake UUID: 75FFDC6C-0E53-49F1-94C8-0744236EBEDF
Time Awake Since Boot: 5100 seconds
Time Since Wake: 1500 seconds
System Integrity Protection: enabled
Crashed Thread: 0
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: DYLD, [0x1] Library missing
Application Specific Information:
dyld: launch, loading dependent libraries
Dyld Error Message:
Library not loaded: @rpath/libQtSolutions_IOCompressor-2.3.dylib
Referenced from: /Applications/mmapper.app/Contents/MacOS/mmapper
Reason: image not found
Binary Images:
0x10092f000 - 0x100a90ff7 + (2.4.0 - 2.4.0) <F5DF9B0E-7A00-32EF-B71B-835B5B93396A> /Applications/mmapper.app/Contents/MacOS/mmapper
0x100af7000 - 0x100b21ff3 +org.qt-project.QtXml (5.10 - 5.10.0) <C4B22F2A-CEEF-391E-9319-93E8F0145E49> /Applications/mmapper.app/Contents/Frameworks/QtXml.framework/Versions/5/QtXml
0x100b38000 - 0x100c3affb +org.qt-project.QtNetwork (5.10 - 5.10.0) <A78A5C69-9F8C-3831-B901-E45900A05BB2> /Applications/mmapper.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork
0x100c84000 - 0x100cb8ffb +org.qt-project.QtOpenGL (5.10 - 5.10.0) <05E86C89-E8B9-3FF2-B536-520F0EACAF2F> /Applications/mmapper.app/Contents/Frameworks/QtOpenGL.framework/Versions/5/QtOpenGL
0x109e08000 - 0x109e5298f dyld (519.2.1) <CD85EFBA-B9D6-3FD5-B777-A23B2DDEF192> /usr/lib/dyld
Model: MacBookPro13,2, BootROM MBP132.0233.B00, 2 processors, Intel Core i5, 2,9 GHz, 16 GB, SMC 2.37f20
Graphics: Intel Iris Graphics 550, Intel Iris Graphics 550, Built-In
Memory Module: BANK 0/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x802C, 0x4D5435324C31473332443450472D30393320
Memory Module: BANK 1/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x802C, 0x4D5435324C31473332443450472D30393320
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x157), Broadcom BCM43xx 1.0 (7.77.37.2.1a3)
Bluetooth: Version 6.0.0f1, 3 services, 27 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB 3.0 Bus
USB Device: iBridge
Thunderbolt Bus: MacBook Pro, Apple Inc., 22.2
Thunderbolt Bus: MacBook Pro, Apple Inc., 22.2
Yellow โ Blocked/guarded by a mobile (such as exit n from Gumak)
As mentioned in #40
it would be nice to have support for "temporary" exits, such as the temporary exits in new Mirkwood (currently I am solving it by having multiple versions of same rooms and special exit flag)
Mappers can now request to receive room descriptions from MUME, regardless of brief/spam character settings, see the G
XML option at the bottom of HELP MPI
.
This is meant as a user experience improvement: players won't have to fiddle with brief/spam to get a reliable room sync anymore, and you can get rid of that _brief
client-side setting.
We should be able to mark no-flee exits in the map and these should be rendered in special way.
@waba4mume has been playing around with the idea of having a web-based mapper in https://github.com/waba4mume/play-mume/tree/mapper. I agree that this seems to be the best way to get additional users but perhaps we should think about it from a service perspective. What if we could do the MUME what Google Maps did to Earth?
I propose that we instead simplify the mapper client to just poll metadata like the current location and surrounding rooms from a MMapper server. This unlocks an possible future bonus of built in Group Manager support, per-character memory of doors, and a centralized map that is updated by a group of core cartographers.
An alternative idea to having a web client is also a mobile native client. However, given how keyboard-centric MUDs are I never truly see tablets or cell phones being truly MUME-capable devices. As such, web is probably still the best way to move forward.
@cschwebk noticed this. We need to fix it.
It is currently pain to resize the group manager window. Corner grabbing area (or at least a thicker border) would help.
Displayed prompts after internal commands and when receiving _gt tells are not always the latest prompts.
As mentioned in #38 we should add support for artificial lights
@nschimme proposed to use the Qt Code Style and I have no real objection (as long as we are consistent :-) ).
I open this issue so that we apply it consistently all over the place (the project is small enough so that we can do it in one go).
Note that the largest difference between the Qt Code Style and the project are braces and ifs.
after clicking "Open" mmapper should open file from last folder used, not all the time open home folder
Add an option to display notes in the terminal in addition to the user interfaces. This should improve accessibility for notes.
GL_POLYGON has also been deprecated and is in the current code
There are other examples that are mentioned in:
https://www.khronos.org/opengl/wiki/Legacy_OpenGL
This got broken at some point between 2.2.1 and 2.3.6.
Depending of the exit flag, the stipple line should have different colors. In 2.3.6, all are grey.
Strangely, when the room is selected, the right color appear.
Example of an area where the stipple lines are grey instead of a color:
If we "select" one of the room, the expected color does appear:
Likely something easy, but I wasn't able to find it.
For some reason mapper did not follow to Lhรปn Street, normal named rooms were OK. Started working again when I changed encoding to ASCII. Maybe this รป breaks it?
MacOS High Sierra 10.13.2 (17C88)
At one time you made a black background version for me a few years ago. I would love it if this became standard. Hours of playing becomes hard on the eyes, and the black background works so well!!! Or implement a way to make the background any color you want.
it would be nice to have console interface for searching (including the new note-search), e.g. comand _search
Add mume time from file like {hour, minute, am/pm, day, month, year, epochtimestamp}
We should be able to mark temporary exits in the map (they are common in new zones) and they should be rendered in a special way. Atm I am using "special" flag for them and also flag to tell mapper to ignore it for room matching (I think it's called "no match"), but a new flag would be nice, as "special" is too generic and I also use it for other features (like potentially webbed exits or exits blocked by mobiles or special features).
It would be nice to add new command/commands for switching the mmapper mode:
playing / mapping / emulation
I can imagine e.g.: _play
, _map
, _emulation
or _mode p
, _mode m
, _mode e
, etc.
Purpose is to allow blind players to turn on emulation mode with ease. Atm, they struggle with it.
This happens usually without alerting the user - maybe it could be fixed by periodical sending of keep-alive packets
It could be useful to see zone boundaries as it can be relevant to game-play sometimes.
E.g. "where" command is zone based and certain zones do not repop while player is in.
It could be implemented as an exit flag.
In the long term, I would like to improve:
Like the room description, these messages are not useful in what I call the 'fighting' mode, but important to catch the ambiance, or for quests.
I currently store such messages in the room note, but this is not very practical to build new feature on top of it (like improving the offline mode). It is also difficult to know which areas of my map is complete or not.
The current map file schema can't store them, so I plan to add these:
(Yes, there are plenty of hidden gems all over there!)
A map of strings, associated to a room.
[There may be several keywords with the same description, but I don't think it is worth using a more complex structure]
A list of strings, associated to a room. [Several strings for a room]
A single string, associated to a room direction (flagged as an exit or not)
A single string, associated to an exit.
I think I will extend the file schema first, and allow to read/set them using a new frame of the room edition dialog.
Once this is done, I plan to extend the offline mode to display them.
@nschimme what do you think?
Cyan โ Exit leading into an air-room (where you instantly fall, such as at BBT entrance or Unqalome's Chasm Trail towards-center exits)
More details in #40
This should be easily do-able by porting the support I wrote for mClient: https://github.com/nschimme/mclient/tree/refactor/src/protocol
Take a look at:
https://github.com/nschimme/mclient/blob/refactor/src/protocol/RemoteEdit.cpp
Highlight the room where a character has died
We should negotiate supported character sets between MUME and the client. I'm not aware if MUME supports this as part of their telnet protocol so it might involve some sort of MPI commands.
Some discussions on this happened in:
#86
Provide the user with the ability to select alternative tile sets.
@waba4mume noticed this
random exit flag is insufficiently describing MUME's random exits behavior, as in MUME some random exits apply only for leader (cannot split groups) and other apply for each follower individually (can split groups); it would help to know how these are stored in MUME internally
Mw+ gods have the /snoop
command which should be supported
<snoop symbol=G>&G XXXXX leans over the corpse, tears it open, and fills his skin with the blood.
</snoop>
<prompt>of W 15019[150:19]></prompt>
<snoop symbol=G>&G XXXXX drinks blood from a water skin.
</snoop>
<prompt>of W 15019[150:19]></prompt>
<snoop symbol=G><say>&G XXXXX says 'XXXXX tells you 'hello world''</say>
</snoop>
<prompt>of W 15019[150:19]></prompt>
<snoop symbol=G><social>&G XXXXX stares at the sky.</social>
</snoop>
<prompt>of W 15019[150:19]></prompt>
<snoop symbol=G><social>&G You fall down laughing.</social>
</snoop>&G >lau
Right now, we can only specify that a direction has random behavior. But MUME has 2 separate features relevant to randomness of exits:
Right now we cannot diferentiate these in mmapper.
Question is if the losing of the followers behavior is tied to a room or to individual exits in MUME. All cases I remember apply to all exits in those rooms...
Use case: There is some interesting loot to be found hidden around Arda, for explorers who bother reading the descs. I do not want to make that information public when I export a base (no secrets) map.
Suggested course of action: Add a secret notes field that is not exported by the Export base map feature. The field should be searchable. Or some more complex scheme that would allow encoding that information in room flags & normal notes while still not exporting them.
This can probably be bundled with #29.
it would be nice if interruption of connection between client and mmapper was immediately propagated into interruption of connection between MMapper and MUME, so that user could go linkless from client without the need to shut down MMapper
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.