developer input needed (re: new EQLib.cpp breakdown)

A forum for feature requests/discussions and user submitted patches that improve MQ2

Moderator: MacroQuest Developers

Amadeus
The Maestro
The Maestro
Posts: 2036
Joined: Sat Jun 29, 2002 3:51 pm

developer input needed (re: new EQLib.cpp breakdown)

Post by Amadeus » Tue May 20, 2003 10:44 pm

I am finalizing the breakup of EQLib.cpp into more managable modules. My goal was to keep things logical and to retain the same header file for all files. During this breakdown I am changing no code other than adding some externs to EQLib.h for compilation purposes.

I've PMed DKAA and gotten approval for this breakdown; however, before I send it in I wanted to make sure that no one else had any other suggestions. As it is almost complete, I would ask that you stick within the basic concept of what I have proposed here if you make suggestions. My sanity thanks you.

Code: Select all

* [b]EQLib_Main.cpp[/b]   - .dll insert, .ini file parser, etc..  (27 KB) 

* [b]EQLib_Commands.cpp[/b] - All slash commands that are not macro related (94 KB) 

* [b]EQLib_MacroParser.cpp[/b] - only the functions that deal with variables and macro parsing.  (115 KB) 

* [b]EQLib_MacroCommands.cpp[/b] - All slash commands that are usually used in macros (ie, /varset) (61 KB) 

* [b]EQLib_Hooks.cpp[/b] - all hooks  (11 KB) 

* [b]EQLib_Interp.cpp[/b] - Only the functions that add slash commands to MQ (9 KB).   

* [b]EQLib_MemChecks.cpp[/b] - all the memcheck routines (19 KB) 

* [b]EQLib_Mouse.cpp[/b] - all mouse related functions (14 KB) 

* [b]EQLib_TelnetServer.cpp[/b] -  (11 KB) 

* [b]EQLib_Utilities.cpp[/b] - All the utility functions   (19 KB) 
----------------
Note: I decided to make EQLib_Interp.cpp a seperate file so that individual users could have builds with custom slash commands in a 'EQLib_Custom.cpp' file without a lot of CVS interuption.

Clawed
a ghoul
a ghoul
Posts: 105
Joined: Mon Jan 20, 2003 6:17 am

Post by Clawed » Wed May 21, 2003 1:01 am

Works for me, although this is only going to slow down my dev time with every new CVS release (to add in my functionality). Much easier to add new code into a single file. But I agree in concept that this is better.
Clawed

User avatar
dont_know_at_all
Developer
Developer
Posts: 5450
Joined: Sun Dec 01, 2002 4:15 am
Location: Florida, USA
Contact:

Post by dont_know_at_all » Wed May 21, 2003 2:52 am

Learn the ways of diff and patch, young padawan.

Cheese
a lesser mummy
a lesser mummy
Posts: 39
Joined: Fri Aug 09, 2002 6:42 am

Post by Cheese » Wed May 21, 2003 4:45 am

This is way better, and CVS will handle things a lot nicer too I'm sure.

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Wed May 21, 2003 7:57 am

Need to move all PERL functions out to their own file, and all Telnet functions as well.

Amadeus
The Maestro
The Maestro
Posts: 2036
Joined: Sat Jun 29, 2002 3:51 pm

Post by Amadeus » Wed May 21, 2003 2:23 pm

I was under the impression that the perl stuff was all mixed in with everything else. Certainly, I don't think I came across any functions that were specifically used ONLY for the perl implimentation. Maybe you could give a few examples if so.

Notice EQLib_TelnetServer.cpp ...has all the telnet server stuff in it.

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Wed May 21, 2003 3:34 pm

Yeah yeah, saw that after I hit submit and didn't feel like going back and editing.

Okay, how bout we just rip PERL out completely then. I still see no reason to have it in there... but then I see no reason for relative mouse movements either, and those are still in there.

Amadeus
The Maestro
The Maestro
Posts: 2036
Joined: Sat Jun 29, 2002 3:51 pm

Post by Amadeus » Wed May 21, 2003 4:53 pm

Once it's all divided up..someone else can remove it :)

Personally, I don't think it hurts anything, and you never know when some Perl guru might come along and make something useful out of it. My only beef with Perl is that the code looks ugly ..hehe

Non M$ Coder
a lesser mummy
a lesser mummy
Posts: 43
Joined: Sun Apr 13, 2003 8:00 pm

Post by Non M$ Coder » Wed May 21, 2003 6:41 pm

I used to be pretty good with perl, but I haven't really looked into how perl is used within MQ. btw, if you have embedded perl into the program, all that string manipulation mckorr is trying to do would be simplicity itself (if you know how to use embedded perl from within c, I got a book somewhere that talks about it, i only ever did very little the other way arround, embedding c within perl, and that was just to see if I could.) How does perl fit into the MQ picture? Oh, I think the book I have that talks about embedding perl is O'Reileys "Advanced Perl Programming".

Clawed
a ghoul
a ghoul
Posts: 105
Joined: Mon Jan 20, 2003 6:17 am

Post by Clawed » Fri May 23, 2003 2:21 am

Learn the ways of diff and patch, young padawan.
Good smurfing point, and I'd like to point out that I work part-time as a moron for donations.

(I'll stop being so lazy and actually use some dev tools for once in my life, I guess.)
Clawed

Jay
a lesser mummy
a lesser mummy
Posts: 59
Joined: Tue Jan 28, 2003 11:37 am

Post by Jay » Fri May 23, 2003 2:42 am

You know, I run a small software company (I mean small like 3 employees) and we have just been using standard "Hey, don't touch that file" method of control. This CVS system, all future projects will be cvs.

It is amazing. Of course we also did most developing as one HUGE cpp file and broke it down later... Still trying to stop people from doing that. You know how much it sucks to break 12000 lines of code from one cpp file to 4 or 5 .h and .cpp? Well I am sure one of you do :wink:

Jay

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Fri May 23, 2003 9:50 am

If you're company is developing code using Visual Studio use it's integrated revision control system instead of CVS. I believe MS calls it Source Safe. If you've got the tools, use them since they integrate with the whole development suite better. That way you won't have to exit the compiler, do a CVS update, then restart, etc.

Sourceforge uses CVS because it's a UNIX based system, meaning they have to integrate a whole host of different development environments. If they were catering strictly to Windows they would probably use Source Safe instead of CVS.
MQ2: Think of it as Evolution in action.

kaz
a ghoul
a ghoul
Posts: 103
Joined: Tue Jan 14, 2003 4:09 am

Post by kaz » Fri May 23, 2003 2:49 pm

nobody uses SourceSafe that I know, I've worked for many big development companies over the years, we always use CVS, some derivative of it or Perforce.

When I worked at microsoft in the site server/IIS team they didnt use SourceSafe either lol, they used a homegrown command line system that reminded me of CVS.

My company now has about 20 software engineers doing windows development, we use CVS. Speaking of that, probably the most usefull toolset ever on windows is cygwin.

I'm sure somebody DOES use SourceSafe, but from my experience CVS is a standard.

User avatar
dont_know_at_all
Developer
Developer
Posts: 5450
Joined: Sun Dec 01, 2002 4:15 am
Location: Florida, USA
Contact:

Post by dont_know_at_all » Fri May 23, 2003 3:34 pm

Even Microsoft doesn't use SourceSafe.

Perforce is better, if you have a large project.

kaz
a ghoul
a ghoul
Posts: 103
Joined: Tue Jan 14, 2003 4:09 am

Post by kaz » Fri May 23, 2003 4:22 pm

yeah I agree, Perforce is great for large projects since it operates with change *sets* rather than only changes to individual files like CVS does.

as an example for anyone who doesnt know what I mean, when you check in with CVS if you have 10 files modified as part of some change, CVS checks them all in 1 at a time, and if you need to rollback the change you'd have to rollback 10 commits.

With Perforce, the checkin is idenitfied as a set, and you can rollback the whole set.

For many small companies, small development teams though CVS is very adequate.