Archived Zip Announcements: 2/17 - 8/18/2004

General announcements relating to the modularized MacroQuest2 system.

Moderator: MacroQuest Developers

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

Archived Zip Announcements: 2/17 - 8/18/2004

Post by Amadeus » Wed Feb 18, 2004 12:47 am

http://macroquest2.com/main.php?p=download

This post was last updated 2016 Apr 13 by eqmule

Compile the entire solution. Plugins currently loaded by default are:
MQ2Labels (ui labels)
MQ2Map (spawns on the map)
MQ2ItemDisplay (item display mods -- haste, item value, etc)
MQ2ChatWnd (the "chat window")
MQ2CustomBinds (custom key binds)
MQ2HUD (custom HUD elements)

To load or unload plugins while playing, use the /plugin command.
/plugin list
/plugin <name>
/plugin <name> unload


If you don't want to use the chat window plugin, you can use the default chat plugin (or both).
/plugin mq2chat
loads the default chat plugin
then you can
/plugin mq2chatwnd unload
and you're good to go.

Everything that works in normal macroquest should work in MQ2. The MQ2Telnet plugin is completed and ready for you to load (settings have changed, open MQ2Telnet.ini) -- it is not loaded by default.

Also, if you want the "/" command to do MacroQuest /who (it is EQ /who by default), try /alias / /who. I left it default to EQ who on purpose, so EQ who isn't removed altogether if you're looking to spam your window or if you just prefer the normal who at times. /w is aliased to the MQ who already.

Compiling instructions
BEFORE COMPILING WITH ANY METHOD - Run MQ2Auth.exe (NOTE: IF YOU ARE COMPILING FOR SOMEONE ELSE, THEY NEED TO RUN MQ2AUTH.EXE. THE FILES MQ2AUTH GENERATES ALLOWS MQ2 TO RUN ON THE COMPUTER IT IS GENERATED FROM. THE GENERATED FILES CAN ALLOW MULTIPLE PEOPLE TO RUN THE SAME COPY, SEE THIS THREAD: http://macroquest2.com/phpBB2/viewtopic.php?t=4291)

Visual Studio 2013 or newer is needed to compile macroquest2 Open MacroQuest2.sln and press F7 (or Use the build command on the build menu) a few times until 0 warnings and 0 errors.

_________________
Lax Lacks
Master of MQ2 Disaster
Lead developer of EQIM plugin for Trillian
Last edited by Amadeus on Thu Aug 19, 2004 5:15 am, edited 19 times in total.

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

Post by Amadeus » Wed Feb 18, 2004 12:48 am

Zip File Updated!

Code: Select all

17 Feb 2004 by Amadeus
- Added initial EQTRADESKILLWINDOW & EQTRADESKILLRECIPE struct
- Added pet window to the /windowstate command (ie:  /windowstate pet open/close)
- Added initial EQPETINFOWINDOW struct 
- Updated the mq2irc plugin to have the new irc server information
- Added a bunch of new parameters:
  * $pet(buff,"<spellname>")   [returns buff slot number]
  * $pet(buff,#,id)            [returns the spellID for the buff slot # given]
  * $pet(buff,#,name)          [returns the name for the buff slot # given]
  * $pet(level)
  * $pet(id)
  * $pet(x)
  * $pet(y)
  * $pet(z)
  * $pet(name)
  * $pet(class)
  * $pet(race)

16 Feb 2004 by Amadeus
- Fixed EQ_CONTAINERWND_MANAGER  (which fixes $envopen )
- Added "Frenzy" to skills.h [daerck]
- Fixed EQLOOTWINDOW struct (which fixes $corpse(empty) and $corpse(has,xxx)

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

Post by Amadeus » Thu Feb 19, 2004 10:44 pm

Zip File Updated!

Code: Select all

19 Feb 2004 by Amadeus
- General Cleanup and offset updates for 02/18/2004 patch
- Added Endurance to CHARINFO and $char(endurance,cur)  [Teh_ish]

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

Post by Amadeus » Sun Feb 29, 2004 1:22 am

Zip File Updated!

Code: Select all

28 Feb 2004 by Lax
- Added API to automatically maintain a list of all initialized windows 
  This will only have the most recent one initialized for each "screen item" name
  Functions are in place to add/remove windows to the list with different names, etc.
- Added /notify and /windows commands
- eSpawnType enum (NONE,PC,MOUNT,PET,NPC,CORPSE,TRIGGER,ITEM) and GetSpawnType function 

28 Feb 2004 by Zaphod
- Major optimization/cleanup of ParseMacroParameter().

22 Feb 2004 by Amadeus
- Updated readme.html [thanks Wassup!]

22 Feb 2004 by Lax
- Updated license notice in each source file for 2004 and made sure each had one
- Added MQ2Spawns.cpp, which gives us hooks when a spawn is added to or removed from a zone.
  This could be used, for example, to increase the efficiency of MQ2Map.
  PLUGIN_API VOID OnAddSpawn(PSPAWNINFO pNewSpawn)
  PLUGIN_API VOID OnRemoveSpawn(PSPAWNINFO pSpawn)

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

Post by Amadeus » Sun Feb 29, 2004 8:49 pm

Zip File Updated!

In addition to the following, I also added in MQ2Spawns.cpp to the makefile for those using command-line makefile. I forgot to put it in the changes.txt before creating the zip.

Code: Select all

29 Feb 2004 by Zaphod
- More optimization of ParseMacroParameter() and some of the parameter routines it calls.
- Minor bugfix in MQ2DetourAPI.cpp. 

Zaphod
Zaphod
Posts: 31
Joined: Sun Jun 30, 2002 11:12 am
Contact:

Post by Zaphod » Mon Mar 01, 2004 8:03 am

Zip File Updated! If you grabbed the 02/29/2004 zip you really want to upgrade to this one.

Code: Select all

01 Mar 2004 by Zaphod
- Another bugfix in MQ2DetourAPI.cpp
Enjoy,
Zaphod (dohpaZ)
Chief Software Engineer of the Apocalypse
ShowEQ Developer

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

Post by Amadeus » Sat Mar 06, 2004 1:29 am

Zip File Updated!

Code: Select all

05 Mar 2004 by Amadeus
- Put in new CXWnd offsets [vzmule]
- Added structs in EQUIStruct.h for the Guildwindow and RaidWindow (work in progress)

05 Mar 2004 by Lax
- MQ2Map upgrade is now live.  It uses the new OnAddSpawn/OnRemoveSpawn API to increase efficiency.
  /highlight <spawn search string> will temporarily highlight these spawns
  /highlight color <#> <#> <#> will set the highlight color
  /highlight reset to reset the currently highlighted spawns
  Right clicking on spawns on the map now targets them
- /keypress command is now live. /keypress <name> <hold> like so:
  /keypress clear_target
  /keypress forward hold
  To release the key after holding, simply use the command again without the hold keyword.
- /itemnotify command is now live.  /itemnotify <slot> <notification>, or /itemnotify in <bag slot> <#> <notification>
  Bag slots are pack1-8, bank1-16 (and sharedbank1-2 and trade1-8 but these are not yet implemented in /itemnotify)
- Added OnAddGroundSpawn/OnRemoveGroundSpawn to plugin callbacks
- Fixed random crash on exit dealing with breakpoints

EDIT:

New zip file uploaded on March 6, 2004 to fix the compile errors on VC 6.0

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

Post by Amadeus » Fri Mar 12, 2004 12:29 am

Zip File Updated

NOTE: MQ2 is currently fully functional with the exception of the MQ2Map plugin that is still having some problems.

Code: Select all

** eqgame.ini is no longer used/needed by MQ2!  All offsets have been integrated 
** into eqgame.h

11 Mar 2004 by Lax 
- I forgot to update the changes.txt file, so Amadeus is putting this here
  so the masses will know I added/fixed/updated a bunch of shit.

11 Mar 2004 by Amadeus
- Updated tons of shit too
- MQ2 should be fully functional now with the 3/10 patch

11 Mar 2004 by Plazmic
- Complete rewrite of the way Guild ID tags are handled
- __Guild offset now points to the GUILD structure instead of the random offset
  that shows the beginning of the list
- GUILD structure added to eqgame.h
- EQADDR_GUILDLIST should now be pGuildList always
- Added EQSWITCH structure
- Updated DOOR & GROUNDITEM structs to reflect the new EQSWITCH struct


08 Mar 2004 by Lax
- Wave 2 of MQ2Map upgrades:
  /mapnames command added to change the naming scheme used for spawns on the map
  Map filters/options system updated, each option can now have a "requirement"
  When listing filters with /mapfilters, only options that have requirements are displayed
  Concolor filter is now PCConColor and NPCConColor
  Target filter now has 3 separate options - Target, TargetLine, TargetRadius

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Sat Mar 13, 2004 4:20 pm

Code: Select all

13 Mar 2004 by Lax
- Added /multiline <delimiter> <command[delimiter[command[delimiter[...]]]]>
  Executes all commands.  Example: /multiline ; /stand;/rude;/sit
- Wave 3 of MQ2Map updates:
  * Added /maphide command to hide spawns on the map given a search string.  Hidden spawns
    only take effect until the mapped spawns are re-generated (such as changing some map
    filters)
    "/maphide reset" will re-generate the spawn list.
  * Added /mapshow command, to explicitly show spawns on the map given a search string.
    These will only take effect until the mapped spawns are re-generated (same as maphide).
    "/mapshow reset" will re-generate the spawn list.
  * Added /mapclick command and special right click commands (hold a combination of
    shift, control, left alt, right alt to execute a special command when right clicking
    on a spawn).  Defaults include left-alt right-click to highlight and control r-click to
    hide.
  * Added Group filter (requires PC) and NormalLabels filter (shows/hides non-MQ2 labels)  
- Added notice when a new XML file is added to the list while in game.  The notice
  says which file was added and that the user must reload the ui for it to take effect.
- Fixed crash when adding a custom XML file that doesnt exist in the default UI directory
- Fixed $macro crash

12 Mar 2004 by Lax
- MQ2Map overhaul completed
- Fixed /keypress crash bug when you're an idiot and type an invalid command name :)
- Fixed client override problem
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Mon Mar 15, 2004 2:43 am

Code: Select all

14 Mar 2004 by Lax
- Added /ranged [#] command.  Run with no parameters to do a ranged attack on your current
  target, or with a spawn ID to do a ranged attack on that spawn.
- Modified MQ2Spawns, hopefully this will solve the remaining stack corruption problems...
- Introduction of the new MQ2 key binding system
  * New command /bind <list|eqlist|[~]name <combo|clear>>
  * "/bind list" will list all MQ2 binds
  * "/bind eqlist" will list all non-MQ2 binds
  * The following work on both MQ2 and EQ binds the same way
  * "/bind <name> <combo>" will set a bind's normal key combo (example: "/bind forward e")
  * "/bind ~<name> <combo>" will set a bind's alternate key combo (example: "/bind ~forward up")
  * Combos use any combination of "alt", "shift" and "ctrl" plus a key.  Specific keys follow the 
    same rules as the /sendkey and /press 
    Example combos:
    shift+n
    alt+shift+f1
    -- Always separate with +'s or spaces.
  * Note that "clear" combo is to clear the bind, and also note that changing EQ binds will not
    immediately update the display in the options window.  Change the bind list selection in the
    options window to see the updated keys.
  * /keypress works the same way with all MQ2 and non-MQ2 binds
  * API additions include:
     BOOL AddMQ2KeyBind(PCHAR name, fMQExecuteCmd Function);
     BOOL SetMQ2KeyBind(PCHAR name, BOOL Alternate, KeyCombo &Combo);
     BOOL RemoveMQ2KeyBind(PCHAR name);
     BOOL ParseKeyCombo(PCHAR text, KeyCombo &Dest);
     PCHAR DescribeKeyCombo(KeyCombo &Combo, PCHAR szDest);

     typedef VOID    (__cdecl *fMQExecuteCmd)(PCHAR Name,BOOL Down);
     -- Note: This function will be called when the key goes down as well as up.  If you create a
        MQ2 bind function make sure to account for this.  The "Name" parameter is the name of the
        bind
  * /hotkey command is now removed, the new bind system will take over
- MQ2CustomBinds plugin is now live.  This plugin allows you to specify custom commands to execute
  on a key combination.  There may be a command for the keys being pressed (down), and another for them
  being released (up).
  * /custombind <list|add <name>|delete <name>|clear <name><-down|-up>|set <name><-down|-up> <command>>
  * "/custombind list" will list all of your custom binds names and commands (the key combinations must be set using /bind)
  * "/custombind add <name>" will add a new bind name for use here, with /keypress, /bind, etc.
  * "/custombind delete <name>" will remove a custom bind
  * "/custombind clear <name><-down|-up>" will clear a specific command for a custom bind.  If up or down is not specified, defaults to down.
  * "/custombind set <name><-down|up> <command>" will set a specific command for a custom bind.  If up or down is not specified, defaults to down.
  * Example usage (NOTE: MQ2's very first bind command is "RANGED" so you do not need to do this, but for example...)
    /custombind add mybind
    /custombind set mybind /ranged
    /bind bind n
    -- To set the real RANGED bind, do "/bind ranged <key>"
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Mon Mar 15, 2004 5:50 pm

Code: Select all

15 Mar 2004 by Lax
- Fixed some bugs with binds and the MQ2CustomBinds plugin
- Modified bind system so that the same key can be bound to an MQ2 bind and an EQ bind and
  both will work
- Added a system to run .CFG files, similar to quake .cfg files I suppose.  The file must
  contain commands the same as you would use them normally.  Each command will be executed
  in order, there are NO macro blocks, events, etc, in a cfg file.
  * CFG files may be present in <release>\Configs\, in <release>\, or potentially in the
    EverQuest directory.  Note that <release> would be the same as wherever your Macroquest.ini is.
  * Added /loadcfg <filename> command.
  * Plugins can use LoadCfgFile(filename)
  * Configs that are automatically loaded:
		AutoExec.CFG - Executed on the first pulse
		CharSelect.CFG - Executed when you are put at character select
		<server>_<character>.CFG - Executed when this character enters the world
		<mapshortname>.CFG - Executed when you zone into this zone
		<pluginname>-AutoExec.CFG - Executed when this plugin is loaded (after its initialization is complete)

		Examples of file names:
		tallon_lordsoth.cfg - character
		oot.cfg, soldungb.cfg, soldunga.cfg, take.cfg - maps
		MQ2Map-AutoExec.CFG, MQ2ChatWnd-AutoExec.CFG - plugins 
Ahhh I love it. Welcome to the Quake-ified EQ client, brought to you by Lax and the MacroQuest team :)
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Mon Mar 15, 2004 8:47 pm

Code: Select all

15 Mar 2004 by Lax (more)
- Added remaining, un-named EQ binds to the MQ2 bind system.  Some are still unknown, and
  some I'm surprised exist enabled in the client in the first place, and you should be 
  careful with those...
- Added /dumpbinds command.  Example: "/dumpbinds bill" will dump all current binds to
  Configs\bill.cfg to be loaded later.
- Added "/filter mq [on|off]", which prevents anything at all from being displayed by MQ2
- Added "/squelch <command>", which does the following:
  * Step 1: turns mq filter off
  * Step 2: executes the command
  * Step 3: turns mq filter back to the state it was in before step 1
  In other words, executes a command and prevents any output from the command
  
  ** It is recommended that you do this in your .CFG files that you dont want to see output from
  /squelch /filter mq on
  < do your stuff here>
  /squelch /filter mq off
- I promise this is my last update for a few days at least!
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Tue Mar 16, 2004 4:28 am

It appears as though I lied when I said that would be my last update for a few ;)

Code: Select all

16 Mar 2004 by Lax
- Fixed remaining issues with binds and custom binds
enjoy
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Tue Mar 16, 2004 9:33 pm

Code: Select all

16 Mar 2004 by Lax (after patch)
- Changed exe date/time checking to use the date/time strings compiled into the exe

16 Mar 2004 by Amadeus
- Updated the Spell Information Window with code provided by Koad in his Spell Search
  Plugin.
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Mon Mar 22, 2004 3:54 am

Code: Select all

20 Mar 2004 by Lax
- Fixed /itemnotify
- Renamed the "SpawnListTail" stuff to "LocalPlayer", added "ControlledPlayer".  These are
  both EQPlayer and correspond to .. you.  If you're on a mount, the one thats moving is
  ControlledPlayer. ** Things that use PCHARINFO to get your spawn should be phased out.
- Added /docommand
- Added /dosocial
- Made some minor improvements in MQ2UserVars
Also a note that isnt in changes.txt, /multiline is now changed to not pre-parse the variables and macro parms.
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0