Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.

Due to spam on this forum, all posts now need moderator approval.

 Entire forum ➜ MUSHclient ➜ General ➜ Possible new client written using wxWidgets?

Possible new client written using wxWidgets?

It is now over 60 days since the last post. This thread is closed.     Refresh page


Pages: 1  2  3  4  5  6  7  8  9  10  11 

Posted by David Haley   USA  (3,881 posts)  Bio
Date Reply #150 on Tue 16 Oct 2007 10:07 PM (UTC)
Message
Oh, I don't really like the idea myself, in most cases. Well, that's too strong: I neither really like nor dislike it. The main (only?) advantage to such a client is that you don't need to install it; many public computers let you use the browser and Java applets therein, but not add programs.

Of course, if you can download a .jar, then you don't need to "install" it, so I think that the same purpose is served thus obviating the need for the browser solution.

I think the issues of safety are somewhat non-technical, in the sense that it's the same JRE that runs a Java application as a Java applet inside a browser. The one isn't going to be more or less reliable than the other. Configuration though is a considerable issue, since by default applets have no access to the file system. (You need applets to be 'signed' in order to give them access to certain privileged OS functions like file I/O. This is a fairly important security feature.)

But I also agree that I've never seen an applet I've been entirely happy with, but I'm not sure if that's due to applets per se, or due to the particular applets I happen to have seen thus far. :)

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
Top

Posted by Shadowfyr   USA  (1,790 posts)  Bio
Date Reply #151 on Wed 17 Oct 2007 07:16 PM (UTC)
Message
Quote:
Generally, I think I just feel way safer and more comfortable with applications that I can control.


What? You're not into the whole, "Use silverlite to code you apps and the future is going to have Word, Excel, and anything else other than the browser stored on someone's server!", world vision of Gates (and sadly IBM...)? Neither am I. lol
Top

Posted by Curious2   (47 posts)  Bio
Date Reply #152 on Wed 04 Feb 2009 09:16 PM (UTC)
Message
What happened to this idea?
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #153 on Thu 05 Feb 2009 02:34 AM (UTC)
Message
I stick by my comment at the top of page 9.

With people wanting support for multiple scripting languages, and also with the goal of supporting multiple platforms, the scripting part itself becomes a huge undertaking.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by David Haley   USA  (3,881 posts)  Bio
Date Reply #154 on Thu 05 Feb 2009 03:46 PM (UTC)
Message
I would be delighted to ditch everything except Lua, but then, that's just me. :-) Running MUSHclient in Wine works well enough, but it has enough quirks that I'd rather something more native. Enough to warrant all the work it'd take to write a new client? To be honest, probably not...

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
Top

Posted by Curious2   (47 posts)  Bio
Date Reply #155 on Wed 11 Feb 2009 08:59 PM (UTC)
Message
Hmm something happened to the wxWidgets site. The designer's Word Press url shows unable to connect as well...

I was looking at this and wxLua but now I can't seem to get any information regarding wxWidgets or even download it. Anyone else able to connect?
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #156 on Wed 11 Feb 2009 10:52 PM (UTC)
Message
I connected to http://www.wxwidgets.org/ ok just now.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Jef   (2 posts)  Bio
Date Reply #157 on Sun 15 Feb 2009 07:50 AM (UTC)
Message
hi Nick, wish u not mind it, i have some ideas about MC code.
MC is stable, strong, fast, probably the best mush client, but still, the code structure can be improved. I just checked and did some changes, one thing i notice is that no proper middle tier in it.
3 tiers: GUI->function layer->data, that will make code cleaner, a bit, when u want to do make huge changes to MC or u want to reuse MC code in a new project, u dont need to write from scratch
To this code, i suggest u create a new class MCWorld, move gui-neutral code from doc to MCWorld, and the call, pDoc->dosomesth() simply change to pDoc->world->dosomesth()
When this is done, a new layer created, that can be used in new client, and old one can be maintained at the same time.
I did some test, function like GetWorld() use too much doc/view thing, need a big change, most others, like AddTrgiier() just copy/paste
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #158 on Sun 15 Feb 2009 08:35 PM (UTC)
Message
You are right, it is messy. The problem was, that when I first started writing it, this was one of my first GUI applications, although I had done a lot of programming previously.

I learnt as I went, and for example, when I implemented the Chat system, it was much more modular. In fact I wrote the functions first, and added the GUI on top of that, which made for a more modular and stable system.

The problem now is, that if I make changes I really need for it to function the same as before, or it will break existing scripts or behaviours (like triggers). So really, I could put a lot of work into improving it under the bonnet, with no difference in end-user behaviour.



- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Jef   (2 posts)  Bio
Date Reply #159 on Mon 16 Feb 2009 01:53 AM (UTC)
Message
man u r open minded. As a programmer my usual reaction to such voices was "my code? what the heck wrong with my code?" :D
as i said, MC is best imho, powerful and fast, thank ur great effort!
actually i can understand ur code very well, i started coding from VC++, doc/view, M$'s MFC now considered as ugly design, but it was best IDE under windows.
I feel ur origional idea very interesting, a thin client yet still hav most power, i dont hav much free time but still trying to dig in a bit. free control of windows with Lua, so nice. things hard should be with event loop and message queue? or if MC migrate to wxWidgets then can interact with wxLua? will read more
Top

Posted by Ruedii   (2 posts)  Bio
Date Reply #160 on Wed 27 Jul 2011 09:46 AM (UTC)
Message
Have you considered GTK+/Glade?

That provides a nice clean interface, and configuration. (A lot cleaner than WxWindows IMO.) It also allows for easy XML-Based modding of the interface.
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #161 on Wed 27 Jul 2011 09:22 PM (UTC)
Message
Well the problem is that it would take a lot of work to rewrite the client, regardless of which platform or tools I chose.

Already the client gets a few thousand downloads a month, so someone must like it in the current form. Any sort of major rewrite would be incompatible with existing scripts and is thus likely to get a very slow level of take-up.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Ayon   (6 posts)  Bio
Date Reply #162 on Thu 26 Dec 2013 04:35 PM (UTC)
Message
Hi,

I haven't really posted here much, but I've been using MUSH since I don't know when. I both love it and hate it( only sometimes ), but I still think that an updated MUSH would be worthwhile.

I downloaded the source code about a month ago with the idea that I would retool some of the issues I had with it (passing lua callbacks as strings instead of closures) but I am afraid I got a bit lost in the code.

I don't think it's bad at all, but it's been around so long, and features/functions, especially of embedded scripting languages have changed alot. I remember when MUSH didn't even have Lua and I did everything in PERL. In my opinion, LUA was a godsend at that point. ( I could be mistaken though, it was years ago ).

Most of the code, to be honest, is too clever for me, as I am a bit of a dullard when it comes to programming.

What I decided to do was to take what I really love conceptually about MUSH and rebuild it in Qt C++ ( Windows/Linux/MAC for free) as an HTML 5 App using the WebKit widget for UI Rendering, allowing all UI work to be done in HTML5, JavaScript, CSS.

This works so far (Basic Telnet, GMCP, Aliases, Triggers with management, all configs in JSON files). MCCP Has been a sticking point because Qt C++ and zlib is a bit problematic, internally strings deflate/inflate, but junk from the server, so I switched to using the MCCP client downloadable from aardwolf for now.

I have added in SQLITE support and am attempting to port the mapper to the application. All of this is done in Minimal C++ ( A few classes that expose Signals and Slots to Javascript, File IO, Socket to play with, Sqlite DB etc), the rest ( even GMCP subnegotiation) is done on the JS Layer.

The downside to what I am attempting right now is no LUA, but I remain hopeful that I can embed lua into the app as well and support some manner of lua coding for plugins as well.

The issue is, all the script embedding is already done for free with Qt when you use JSCore which ships with the 4.7/8 of Qt. No need to handle callbacks as closures( Almost the entire Application logic is already in Javascript, but C++ Signals can connect to anonymous functions, so no need to pass in the string name and therefore lose your scope.

The Core application logic is served to the HTML5 app from a webserver ( so you host the application logic on your website, and when the thin C++ client starts up it loads the app like a web page, making distributing updates to all users automatic and transparent.) All people download is a small C++ App with some dlls, double click and go.

With Lighthouse it may be possible to also compile and distribute the app to Mobile devices.

Things you get for free:
- Scripting (JS, but heh, not so bad as it's not WSH)
- Dead Easy UI (It's HTML/CSS)
- MiniWindows ( I have floating, draggable windows, and
tabbed window regions that you can draw to already
done.)
- HTML5 Canvas allows you to draw if you want to get
fancy.
- Completely themeable ( uses foundation.css for
columns and rows, so different sizes display
gracefully. This should also degrade gracefully
when on mobile apps.
- Regex with good support.
- PLANNED: Script editor using ACE which includes syntax
Highlighting.
- Cross Platform ( Compiles on linux, windows, mac because
it's Qt.
- Completely modular, plugins have plugins. The main App
is more or less agnostic ( Just a Socket/IO/Sql api).

Of course, this app was never meant to be a general MUD client like MUSH, it was specifically designed (in my mind anyway) for connecting to Aardwolf to serve my specific needs, so I am not even sure anyone else would find it even remotely useful.

It was also intended as a promotional gimmick for my clan, with the hopes that people might download the client from our website, not have to install anything, and we could provide them with a slick UI and pre-configured client that would also work on Mobile. The ultimate goal is to get it working there, cause sometimes you just gotta quest while on the go.

I am interested to hear what you think, perhaps if you do start a rewrite of MUSH you might consider Qt for the cross platform stuff, at the very least, what I did is a nice proof of concept, even if it's limited and hackish( I am not really a good C++ programmer or even Javascript programmer, so I have probably done a lot of dumb stuff.)

You can check out the code on github:

https://github.com/jasonknight/qushie
https://github.com/jasonknight/qushie-app

It's very alpha, so probably not very easy to get it up and running.
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


370,930 views.

This is page 11, subject is 11 pages long:  [Previous page]  1  2  3  4  5  6  7  8  9  10  11 

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.