Bak Posted March 23, 2008 Report Posted March 23, 2008 I can't seem to find any chatnet clients that are open source and don't require any external dependencies (not java or python ect.) It would be nice to be able to connect to non-discretion-enabled zones using chatnet through Discretion. Perhaps this would be a nice project for someone to work on? Quote
»doc flabby Posted March 23, 2008 Report Posted March 23, 2008 Would it have to be written in C/C++ or could it not be written in another language that can be directly linked with C (e.g. free pascal) Pascal programs are statically linked so don't normally require any externals beyond operation specific ones. Quote
Bak Posted March 23, 2008 Author Report Posted March 23, 2008 It doesn't even need to be linked to Discretion (it can be it's own executable). As long as it works without having to install a 30MB runtime environment I'll be happy. It would probably be passed on the command like the zone ip and port to connect to, and the username / password would be read from a file. Quote
»doc flabby Posted March 26, 2008 Report Posted March 26, 2008 hopefully should have something to show by the weekend. Its being written in free pascal, which is cross platform. Has build dependencies (like most programs do:P), but no run-time. Quote
Smong Posted March 26, 2008 Report Posted March 26, 2008 I think you will need dependencies if you want to have real-time chat and input. For example cccc is dependant on ncurses for a terminal/console interface (it's fairly easy to write an ncurses emulation layer, which I did to make it work on psp). If you want a GUI you're going to be dependant on a windowing library. You can use cccc for whatever you want (it comes with source) and I can send you my ncurses wrapper if you want it. Quote
Bak Posted March 27, 2008 Author Report Posted March 27, 2008 Is there a port of ncurses on windows? Attach your source here anyway as it will be undoubtedly useful to someone Quote
»doc flabby Posted March 27, 2008 Report Posted March 27, 2008 (edited) I think you will need dependencies if you want to have real-time chat and input. If you want a GUI you're going to be dependant on a windowing library.It will be dependant on the opertating system API Windows/X/MAX OSX, but the actual libary is build into the exe. The version i am creating uses the gui. It is dependant on the windowing libary that comes with freepascal, however the libary itself is cross-platform. This libary, and dependant libaries are statically linked into the executable, so when distributing the exe, its already included as part of the exe. This leads to larger exe sizes but eliminates the need for external libaries to be distributed with the exe. When I post up the alpha it will be a bit more clear. I don't thinik i'm explaining it very well. There is a port for ncurses for windows somewhere as i was looking into it when I was starting this project. Edited March 27, 2008 by doc flabby Quote
Smong Posted March 27, 2008 Report Posted March 27, 2008 http://toktok.sscentral.com/files/psp-ncurses.zipThis code requires a "draw text" function for the rendering. The function needs parameters for color and screen position, so it's fairly simple. Quote
»doc flabby Posted March 28, 2008 Report Posted March 28, 2008 Give it a spin (needs some work but its pretty much there) http://forums.minegoboom.com/viewtopic.php?p=76761 Quote
Bak Posted April 1, 2008 Author Report Posted April 1, 2008 looks good. It also crashes if you send a message before you connect to a zone. Add this to TForm1.FormCreate to load the data from a file (any maybe make it auto connect if you want) and get version 0.2 out and I'll get it into discretion. // load a data from input.txt !@#$%^&*ignFile(input_file, 'input.txt'); {$I-} // disable file io error check Reset(input_file); // try to open the file {$I+} // enable file io error check if (IOResult = 0) then begin Readln(input_file, input_name); Readln(input_file, input_pw); Readln(input_file, input_ip); Readln(input_file, input_port); CloseFile(input_file); Erase(input_file); Form1.UsernameBox.Text:= input_name; Form1.passwordBox.Text:= input_pw; Form1.HostBox.Text:= input_ip; Form1.PortBox.Text:= input_port; end; also, after I close it in Lazarus it says execution stopped and then this guy pops up. any idea? Quote
»doc flabby Posted April 1, 2008 Report Posted April 1, 2008 (edited) I can make it use command line parameters, that will work better, temp file is horrible I'll have a go at fixing all the bugs, the send before connect is a big one lol. Also it really needs an option to have a auto command at login (for chats etc) If that error only appears when running it from inside lazerus, it might be to do with the project is set to compile without debugging symbols, or it might be a bug in lazerus. Edited April 1, 2008 by doc flabby Quote
Bak Posted April 1, 2008 Author Report Posted April 1, 2008 temp file is more secure than command line parameters, or so I've heard Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.