A fusion of technology, music, and geekyness.
Currently Browsing: Games

Warcraft Milestone: Crusader Technology

After several rough months my Paladin finally earned Crusader title and the Argent Charger! A lot of people probably think this is old news and lame but for me it is a milestone. It is the first time I have pushed through and actually did it. I HATE the Argent dailies with a passion :) This was my last major goal before the release of Cataclysm. Now to decide which character I want to take into the expansion. It’s a pretty rough decision when you have ten 80′s (soon to be eleven). Click the images for the full size!

WoWScrnShot_102710_072908

WoWScrnShot_102710_071927


Now Learning Lua!

Lua For the Win!
I recently have randomly become quite interested in Lua. The reasoning is due to the fact that I interact with two things on a daily basis that are configured and/or scripted in Lua: World of Warcraft and the Awesome window manager. I have had a blast over the weekend learning the basics of the languages and WoW addons. You can find the entire first edition of a very nice guide to learning Lua on their website. In addition, I found the resources at www.wowprogramming.com to be quite helpful.

Some essentials:

  • WowLua – An addon that allows you to write and run Lua in game.
  • Warcraft Addon Studio – A Visual Studio (VB) like application to let you quickly build frames and export them to XML.

Celistine
The first mod I wrote was called Celistine, and was written to monitor my wife in game :D It allowed her to whisper me for auto-invites to a group, monitors her range and informs me if she is far, and spams her with whispers if my health gets lower than 25%.

celistine

Deeps
After that, I decided to modify an example I found in the book I am reading (World of Warcraft Programming) and create a simple frame that displays DPS and other facts as I am in combat. I decided to call it Deeps :) See below for the screenshots, code, and feel free to try it out yourself.

deeps

deeps2

-- Set up some local variables to track time and damage
local start_time = 0
local end_time = 0
local total_time = 0
local total_damage = 0
local average_dps = 0
local in_combat = false

function CombatTracker_OnLoad(frame)
	frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
	frame:RegisterEvent("PLAYER_REGEN_ENABLED")
	frame:RegisterEvent("PLAYER_REGEN_DISABLED")
	frame:RegisterForClicks("RightButtonUp")
	frame:RegisterForDrag("LeftButton")
end

function CombatTracker_OnEvent(frame, event, ...)

	if event == "PLAYER_REGEN_ENABLED" then
		-- This event is called when the player exits combat
		end_time = GetTime()
		total_time = end_time - start_time
		average_dps = total_damage / total_time
		CombatTracker_UpdateText()
		CombatTracker_ReportDPS()
		in_combat = false
	elseif event == "PLAYER_REGEN_DISABLED" then
		-- This event is called when we enter combat
		-- Reset the damage total and start the timer
		CombatTrackerFrameText:SetText("In Combat!")
		total_damage = 0
		start_time = GetTime()
		in_combat = true
	elseif event == "COMBAT_LOG_EVENT_UNFILTERED" and in_combat then
		local timestamp,log_event,source_guid,source_name,source_flags, dest_guid, dest_name, dest_flags, spell_id, spell_name, spell_school, amount = ...

		if string.match(log_event, "_DAMAGE") then
			if source_name == UnitName("player") or source_name == UnitName("pet") then
				--ChatFrame1:AddMessage(source_name .. " is doing teh hurt!")
				if amount ~= nil then
					total_damage = total_damage + amount
					end_time = GetTime()
					total_time = end_time - start_time
					average_dps = total_damage / total_time
					CombatTracker_UpdateText()
				end
			end
		end
	end
end

function CombatTracker_UpdateText()
	local status = string.format("%ds | %d dmg | %.2f dps", total_time, total_damage, average_dps)
	CombatTrackerFrameText:SetText(status)
end

function CombatTracker_ReportDPS()
	local msgformat = "Dished out %d damage in %d seconds (%.2f dps)."
	local msg = string.format(msgformat, total_damage, total_time, average_dps)
	if GetNumPartyMembers() > 0 then
		SendChatMessage(msg, "PARTY")
	else
		ChatFrame1:AddMessage(msg)
	end
end

World of Warcraft: X-53 Touring Rocket and Geeky Names!

The picture says it all!

WoWScrnShot_050810_174651


World of Warcraft in Ubuntu 9.10

wow-ubuntu2
wow-ubuntu2

Wine and Ubuntu have really come a long way. These days it is very easy to get World of Warcraft to smoothly run in Linux. I felt the need to write this guide for two reasons: one as a mark of my triumphant achievement, and two as a helpful guide for those looking to do the same. This walk through assumes the following.

  • You do not have wine currently installed. If you do and it is not the wine1.2 package then World of Warcraft probably won’t run very well, if at all.
  • You currently have the restricted drivers installed for your video card
  • Your system is up to date.
  • You are running Ubuntu 9.10
  • The WoW current patch is not too far past 3.3.3
  • You have basic knowledge of Linux and understand how to use a terminal

Warning: This configuration worked great for my hardware. Other hardware configurations may need additional tweaking.

1. Before you start you must verify that your graphics card had DRI enabled.

glxinfo | grep rendering

If it returns “Yes” then you are all set. If it returns no I am not sure if you should continue with this guide.

2. Install Wine via apt

sudo apt-get install wine1.2

3. Download the Visual C++ Patch From Microsoft at www.microsoft.com/downloads/en/confirmation.aspx?familyId=200b2fd9-ae1a-4a14-984d-389c36f85647&displayLang=en.

wine /home/username/Downloads/vcredist_x86.exe

Follow the prompts to install it and it will close when it has finished. This patch is needed to successfully download patches at a certain point for WoW to run.

4. Install World of Warcraft. There are several means available to do this. You can install from the CDs/DVDs you bought or if you are like me you will need to download the entire installation from Blizzard. I had to download the downloader at https://www.worldofwarcraft.com/account/download_wow.html. For other methods of installation see the sources at the end of this article.

wine /home/username/Downloads/InstallWoW.exe

Choose Wrath of The Lich King when it prompts and keep going through the wizards. The downloader will eventually begin and you will have several hours (depending on your connection) to wait while it finishes.

5. Once the installation is complete, you will most likely want to edit the configuration to start WoW in OpenGL mode.

vim /home/username/.wine/Program\ Files/World\ of\ Warcraft/WTF/Config.wtf

Press the i key on your keyboard to go into insert mode. Add the following line to the bottom of the file.

SET gxAPI “OpenGL”

Press escape, type :wq, and press enter to save and exit the file.

6. Wine currently has permission issues with the World of Warcraft folder. If you ever notice WoW not starting after the launcher loads it is probably because the permissions somehow got screwed up on the folder. I have chosen to completely bypass the loader and I have also written a launcher script to make sure that WoW loads every time. Execute the following commands to start WoW for the first time.

chmod 755 /home/username/.wine/drive_c/Program\ Files/World\ of\ Warcraft/
wine "C:\Program Files\World of Warcraft\WoW.exe"

After some patience World of Warcraft will successfully load up. Get your initial video / audio configuration out of the way before the next step.

7. The endless loop: Login and it will force you to download a patch. You will have to complete this step approximately 5 or 6 times until all the patches have downloaded.

8. After all the of the patches have downloaded you should be good to go! Install all mods to /home/username/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Interface/AddOns/. Keep in mind that by default in Gnome that your keyboard is configured to automatically repeat keys when held down by default. This will make your mounts and characters running seem strange. You can disable this temporarily by going to System -> Preferences -> Keyboard and unchecking “Key presses repeat…”

I hope this quick guide has helped you get World of Warcraft installed and running beautifully in Ubuntu. If you have additional issues with your installation and need help please see the following sources for additional assistance.

Sources


Introducing Mooyah: My Fifth 80!

This was the fastest 78-80 grind ever (5.5 hours of casual leveling). This one is going to be a feral druid tank! I like tanking with my face (link).

WoWScrnShot_111209_124746

WoWScrnShot_111209_124831


« Previous Entries

Powered by Wordpress | Designed by Elegant Themes