{ALL DEVELOPERS READ THIS} - Rawr4

Topics: Rawr.Base
Coordinator
Sep 14, 2010 at 9:12 AM
Edited Sep 14, 2010 at 10:31 PM

(This post is mostly for the developers, but I've left it public for anyone building the source code themselves, or just otherwise interested)

Hello, gentlemen.

 I've just made the initial check-in of Rawr4. The solution to open is at $/Rawr4/Rawr4.sln. It contains all the same projects as Rawr3, which all of the files linked to the copies in $/ (for files shared from Rawr2), or $/Rawr3/ (for files shared from Rawr3). Basically, it's a branch, just like Rawr3 is.

 

What to do: Start making changes for Cataclysm! The Cataclysm is approaching quickly, and we need to get rolling on Rawr4!

What about Rawr2? Maintenance changes only at this point, please. I'll continue doing releases every couple weeks as necessary, but there really shouldn't be much changing here.

For minor changes: Add/change the code in the existing files that are linked in the Rawr4 projects, and wrap it in '#if RAWR4' and '#endif' lines. (All existing compile conditionals like this that used RAWR3 have been changed to use RAWR3 or RAWR4)

For major changes: If it's replacing an existing file, remove the linked file and add a new one to the Rawr4 project. If it's brand new, just add the new file to the Rawr4 project.

 

Let me know if you have any questions.

 

P.S. I didn't implement WPF versions of the sln or project. The WPF version of Rawr3 has fallen far enough out of sync with the Silverlight version that it doesn't compile anymore; lets leave it be and we'll tackle the Silverlight->WPF conversion in Rawr4 later on. Rawr4.Silverlight should be our primary focus going forward.

 

 

EDIT: 

Devs, read this, important!

 Looks like there's a bug in Team Explorer; if you remove a linked file from a project, and that file is source controlled, it also adds a pending change to delete that file (but doesn't delete it locally). So when you remove a linked file (such as to make room for adding a copy of it directly), make sure that you goto your Pending Changes tab, find the change for deleting that file, and Right Click->Undo.

Sep 14, 2010 at 11:50 AM
Edited Sep 14, 2010 at 9:59 PM

Can I just ask for some clarification, as perhaps I am still confused...

Up until now, I have been downloading the SVN and batch compiling everything under the root using Rawr.SLN but I should be using the Rawr.SLN from under the Rawr directory??

And moving forward for Cataclysm I should be using the Rawr.SLN under the Rawr directory??  (with compile conditionals for Rawr4)

 

Thanks in advance!?

Coordinator
Sep 14, 2010 at 12:39 PM

that is correct. However you do need to have the silverlight development information installed in order for RAWR 3 and RAWR 4 SVN to work correctly. I know Jothey posted something about this a few weeks ago for anyone who wished to compile RAWR 3 on their own.

Sep 14, 2010 at 1:10 PM

So does this mean Rawr2 is getting scrapped come Cata and we're going to online/Silverlight versions only?

Developer
Sep 14, 2010 at 6:45 PM

Only until we build the Rawr4.WPF.sln which is the actual replacement for Rawr2 type installs.

Sep 14, 2010 at 7:11 PM
Edited Sep 14, 2010 at 9:58 PM

I never asked this before, because I basically only used Rawr for my own personal use... but since I do my own hosting, and have placed SIMULATIONCRAFT online (via web interface / php) would it also be "OKAY" for me to compile / run / and host my own Rawr online for use?

Just wondering, as I have always personally just used the local compiled version, but since we are moving away from this.....?

Coordinator
Sep 14, 2010 at 7:13 PM

Seriously guys, it's "Rawr", not "RAWR".

Rawr2 has been planned to be replaced for a long time.

No, please do not post your own copy of Rawr online. There's no need to do so; you can still use Rawr3/4.Silverlight locally.

Sep 14, 2010 at 10:06 PM

It's those darn compile conditionals in your original post that got me started using the ALL CAPS for RAWR.

But, realistically, based on the license, we could place it on our own websites???  (sorry, I'm not trying to be obtuse, just trying to verify)

Coordinator
Sep 14, 2010 at 10:12 PM

Legally you 'could', but there really is no reason to do so, and doing so is destructive to Rawr's community. If you think you have a reason to do so, bring it up; it's something we'll want to solve too.

Sep 14, 2010 at 10:15 PM

The ONLY real reasons I could see are as follows....

1) To collect the ad revenue like Elitistjerks does from the banner at the top of the page.

2) Promote your own Guild / Website.

 

These are really the only valid reasons I can see.....

I would NOT do anything that would be destructive to the Rawr community, it has been such a pleasant and helpful community to myself and so many others.

Coordinator
Sep 14, 2010 at 10:20 PM

Not sure why you're bringing this up then, especially in this threat.

Anyone profiting from Rawr in any way is not something that we would allow.

Sep 14, 2010 at 10:27 PM

The only reason WHY I brought it up is because you ASKED....    You stated... "If you think you have a reason to do so, bring it up; it's something we'll want to solve too."

Feel free to delete my posts if you wish, I was simply responding, and have garnered my answer.  Thank you.

Coordinator
Sep 14, 2010 at 10:31 PM

Devs, read this, important!

 Looks like there's a bug in Team Explorer; if you remove a linked file from a project, and that file is source controlled, it also adds a pending change to delete that file (but doesn't delete it locally). So when you remove a linked file (such as to make room for adding a copy of it directly), make sure that you goto your Pending Changes tab, find the change for deleting that file, and Right Click->Undo.

Developer
Sep 14, 2010 at 11:58 PM

Sounds good, will start working on it as soon as possible. That bug sounds annoying though. :P

Just checking, but what's the general guideline for when the changes are major enough to look at just making the file unique to the Rawr4 branch rather than linking? (I'm inclined to just properly branch off almost everything due to how many changes are touched everywhere, but perhaps that isn't the correct thing to do.)

Coordinator
Sep 15, 2010 at 1:12 AM

That's pretty much up to you. Duplicate code is bad if you have to fix bugs in it in two places. I'd say probably just start from a copy when you intend to replace most, if not all, of the code in the file.

Coordinator
Sep 15, 2010 at 3:22 AM

I'm building automation to create the ClassTalents.cs file for Cata, based on wowtal.com. So don't worry about making the talent classes for your model, everyone.

Coordinator
Sep 15, 2010 at 10:00 AM

Alright, well, that works well. I've finished my wowtal.com parser and code generator for ClassTalents.cs, and it works beautifully. So, on the upside, I've now got a ClassTalents.cs including all the new Cata talents for all classes. On the downside, I've now got 1122 build errors in Rawr4.sln, that look like: "'Rawr.PriestTalents' does not contain a definition for 'MindFlay'..."

Thoughts on how to handle this?

 

Coordinator
Sep 15, 2010 at 10:24 AM

I went ahead and checked in. This means that Rawr4.sln doesn't build. Everyone, please work on fixing your model up to at least build (ignoring talents if you have to).

I've also just checked in the changes required to make Bear build with the Cata talents. Please update your own models similarly!

Coordinator
Sep 15, 2010 at 12:19 PM

Hey Astrylian, a question.  How are we going to handle the specialization bonuses?  For example, for Moonkin, we get a +25% arcane/nature spell damage modifier, as well as the 100% crit damage bonus.  Right now I have these hardcoded directly into the model, should we just leave them that way?

Coordinator
Sep 15, 2010 at 5:40 PM

Yes. Detect which tree has the most points in it, and add the appropriate spec bonuses.

Developer
Sep 15, 2010 at 5:58 PM

If you need example code for this, I have it in both DPSWarr and Hunter, though I'd have to look up where. DPSWarr is using it to know if you are in Battle or Berserker Stance and Hunter is using it to know if it needs to change its rotation to another spec's preset.

Sep 15, 2010 at 7:44 PM

Still don't understand one thing: Is the goal to replace the application by the Silverlight solution completely by Rawr 4 or is the plan to have both at a later point?

Developer
Sep 15, 2010 at 7:50 PM

Pre-Cata, you want Rawr3.Silverlight, which is what is presently being hosted on ElitistJerks.com (see the giant link at the top of Discussions). This can be run from the Browser or right-click > Install Locally to run as a system app. This automatically updates when we post a new version to EJ. Rawr3.WPF was meant to replace the actual local install type (gives you an EXE) that is Rawr2. Sadly, we let the solutions file for Rawr3.WPF fall out of date so we're just no gonna try and get it back and running and focus on Rawr4.WPF.

Post-Cata, Rawr3.Silverlight will be obsolete because it's designed to work with WotLK info. Rawr4.Silverlight will be the new version to work with, operating the same way as mentioned above for Rawr3.Silverlight. We'll also be making a Rawr4.WPF to serve as a locally installed version (that works with Cata info).

We will have both Rawr4.Silverlight to work online, and Rawr4.WPF to work offline.

Why do we have Silverlight and WPF versions and not just use Silverlight online and locally? Because WPF is ~20% faster, but can't be run online like Silverlight.

Sep 15, 2010 at 8:36 PM

TL:DR version: Rawr3 is dead, Rawr2 lives to Cata, long live Rawr 4 in both online Silverlight and offline executable post-Cata.

Right?

Developer
Sep 15, 2010 at 8:58 PM

Rawr3 lives to Cata too...

Coordinator
Sep 16, 2010 at 4:15 AM
Edited Sep 17, 2010 at 3:10 AM

Just checked in Cat building with Cata talents. The following model still need to be updated to build with Cata talents. Again, you don't need to actually implement the new talents, but at least get it building please.

  • ShadowPriest
  • HealPriest
  • RestoSham
  • Elemental
  • Warlock
  • Retribution
  • Tree
  • Enhance
  • Rogue
  • Mage
Developer
Sep 16, 2010 at 9:59 AM

I plan to start as soon as I get my bearings on healing shaman.  They jacked our healing tactics 5 ways from sunday, and everything that I thought I knew basically gets thrown out the window.  As soon as I get some groundwork laid on how to heal, I'll get a model building on gearing a healer, but it's going to be rocky a bit.

Also, as of last commit(53905), Rawr2 was not building.

Coordinator
Sep 16, 2010 at 1:17 PM
Antivyris wrote:

Also, as of last commit(53905), Rawr2 was not building.

That would probably be my bad.  I'll look at that right now before I get back to work on Rawr4.

Developer
Sep 16, 2010 at 4:46 PM

DK Checked in and building.  Broken to all hell, but building.

Developer
Sep 16, 2010 at 5:08 PM

Healadin now compiles, will work on ProtPaladin after lunch.

Developer
Sep 16, 2010 at 6:06 PM

ProtPaladin also compiles.

Developer
Sep 17, 2010 at 10:40 PM

We already have MasteryRating, but do we want Mastery as part of the Stats Object?

Sep 18, 2010 at 12:32 AM

Rogue compiles.

Coordinator
Sep 18, 2010 at 12:33 AM
Edited Sep 18, 2010 at 12:42 AM

No, if anything it would be part of the StatConversion.cs file. So converting it inside the Stats object is really bloat. However each spec gains more or less % towards their mastery value than others. ie: Feral druids gain 2.5% or something like that per Mastery point. I know of others that is less than that. So those calculations would be within each model. But the conversion of Mastery Rating to Mastery Points should stay in the StatConversion file.

Developer
Sep 18, 2010 at 3:00 PM

We may still need both stats, though, since there is a base amount of Mastery and there may be things in the future that simply increase Mastery rather than MasteryRating. Obviously the conversion should be in statconversion though.

On that note, I presume from observations on Beta that Mastery is like Expertise in that although it's converted to an arbitrary number the partial points are still applied. (e.g. even though the UI doesn't show it, you should be able to have 10.412 Mastery, for instance.)

Editor
Sep 20, 2010 at 7:58 PM

Unless or until we get confirmation to the contrary, I would start with the assumption that Mastery acts like Expertise in the way that Evan described in the post above mine.

Developer
Sep 20, 2010 at 11:32 PM

In the current version of beta, Mastery is shown as decimal now. (e.g. 'Mastery: 10.17') So that should be a safe assumption.

Developer
Sep 21, 2010 at 9:00 AM

RestoSham compiles.  Unable to debug at this time, but figured that's currently intended.

Sep 22, 2010 at 2:43 AM

Elemental should compile with the newest check in.  It's just a temporary bandaid fix for now.

Developer
Sep 26, 2010 at 7:48 AM

Just in case some devs are checking this thread for info, Rawr4 should compile completely now, so if you were waiting for that to get working on it, it's able to be worked on.  Caught that on the source code page, just throwing the update here.

Coordinator
Sep 26, 2010 at 9:18 AM

I just checked in a bunch of changes, including updated StatConversions, and a rudimentary conversion of item stats from WotLK to Cata.

Again, this conversion is very very rudimentary. Since we don't have a good way to populate the itemcache with cata item data yet, I just made a method that (on initial item cache load), applies some changes to all the existing items. It multiplies the armor on cloth/leather/mail gear by the right factor, it drops attack power and spellpower, adds some more stamina, replaces armor penetration with crit or haste and mastery, and replaces def rating with dodge rating.

It definitely won't make the stats on gear match what you see on beta/PTR, but the idea is that it at least gives you a mix of stats that at least in the same ballpark. The really big deal is dropping ArPen, AP, and SP.

Developer
Sep 26, 2010 at 11:03 AM
Antivyris wrote:

Just in case some devs are checking this thread for info, Rawr4 should compile completely now, so if you were waiting for that to get working on it, it's able to be worked on.  Caught that on the source code page, just throwing the update here.

I didn't think this was the case.  Pretty sure we haven't seen a couple of modules with any Rawr4 related check-ins.

 

Unless you were talking about "Change Set 54043" by Anaeradranax (Changes for Rawr4 to stop compile errors. No functionality changes for Rawr2 or Rawr3.).  That was only a check-in to make the Elemental module compile.

Coordinator
Sep 26, 2010 at 6:24 PM

Correct, there are still a few models that do not build. After this weekend, if they still aren't building, I'll just disable them in the repository, and leave instructions on how to reenable them for those devs here.