Source tree

Topics: Rawr.Base
Jan 17, 2011 at 1:25 PM

Sould we be working SOLELY off of the Rawr4 source branch, or is there some intermingling going on? The dev guide indicates Rawr4, but It seems some of the forms,etc are referenceing the main rawr trunk.

Should I disreguard anything not under the Rawr4 branch as an inactive build?



Jan 17, 2011 at 1:39 PM

Many files that are not in the Rawr4 branch are linked into the projects. if you work from the Rawr4 directory and its projects then you will be working on the right code. you do not need to copy over the files from other branches. We will be doing a branch merge in a month or two, its a lot of work and there are other priorities until then.

Jan 17, 2011 at 1:44 PM

I ask mostly because the majority of the ret stuff is still in the old trunk, including the UI stuff

Jan 18, 2011 at 3:00 AM

The latest code is always what's actually in-use in the latest solution, which is Rawr4.sln.

Jan 18, 2011 at 8:49 AM

Would it be an idea for models where there are linked files to the previous Rawr2 or Rawr3 project to move those files into Rawr4 and get rid of the link back to Rawr2/3? My thought is this would minimise later work to merge the files in the main body of the code.

Jan 18, 2011 at 8:53 AM

"We will be doing a branch merge in a month or two, its a lot of work and there are other priorities until then."

Jan 18, 2011 at 9:48 AM
Edited Jan 18, 2011 at 10:03 AM

Yes I read that. I just thought that if individual model authors were to fix their model to remove links to files in Rawr2/3 it would reduce the work required "in a month or two". Especially for people like Rigamonk who is essentially starting from a relatively clean slate and re-organising things may help him make better sense of it.

Jan 18, 2011 at 3:31 PM

It would help us out to have that taken care of by devs doing their own model, BUT only if you really have the time as it works the way it is. Getting the models brought up to "mostly" status is more important right now.

Jan 19, 2011 at 3:55 PM

I have no problem cleaning out the tree as long as I know whether the "old but valid" base code is in the trunk or lost in a branch somewhere.

I didn't really intend to make things this complicated, I just wanted to know where to build, since I was getting conflicting (ret specific) class names from outside the rawr4 branch

Jan 19, 2011 at 4:16 PM
Edited Jan 19, 2011 at 4:21 PM

The Source Code Files linked into the Rawr4.sln solution and the Rawr4.WPF.sln solution are the ones you need to worry about. None of the other .sln files you see anywhere else in the entire SVN matter. Reason being: they are for Rawr2 or Rawr3 which is all WotLK builds.

The actual .cs files you need may be linked in from the following places:

  • .\Rawr4\Rawr.Retribution\filename.cs
  • .\Rawr3\Rawr.Retribution\filename.cs
  • .\Rawr.Retribution\filename.cs  (This is the Rawr2 file)

The hierarchy of what files are correct is in the same order. Rawr4 is a for-sure Cataclysm file. Rawr3 and Rawr2 are older files but we tried to make sure that all files were directly compatible with each other. We shared code heavily between Rawr2 and Rawr3 for portability. This shared code transitioned into being shared into Rawr4 as well.

Since we shared code, you will see tags like '#if SILVERLIGHT' in the code. The SILVERLIGHT tag is defined in the Rawr3 & Rawr projects, but not in the Rawr2 or Rawr4.WPF projects. You shouldn't actually see it very often as it only really comes into play with some thread safety points in base and some XML Serialization. If you see tags of '#if RAWR3 || RAWR3' that was a separation between Rawr2 and Rawr3 (we did replace alls to put the RAWR4 tag on it too when we created that solution file, which was literally a copy of Rawr3.sln, then making the necessary changes to call it Rawr4).

Rigamonk, if you have added in additional files beyond what was there when you started working from the Rawr2 and/or Rawr3 project folders, you probably linked something in that you didn't need to and should drop those files. If you need to make new files, make them in the Rawr4 folders and include them in Rawr4.sln and Rawr4.WPF.sln. If you want to bring up the files from Rawr2 or Rawr3 to the Rawr4 directory so that you are only working in one directory you can, but of course only grab what you need and then change how they are linked into the project. and ALWAYS ALWAYS make sure code fully compiles when checking in. If you add/move/delete files, make sure that that gets into the commit. Sometimes people add files to a project but then don't check them in.

NOTE: We WILL be taking this stuff down to reduce confusion and simplify the SVN, BUT that's a pain in the ass and there are a lot of repercussions with making those changes, deleting files, etc. We want to get Rawr4 working in all models first, at least to a Mostly status. There are 10 models that still need to be brought up to Mostly from either Non or Partially.

Jan 21, 2011 at 11:14 PM

It's probably this confusion of where files go or having opened the wrong solution file that has caused Rigamonk to commit changes that now break Rawr and prevent compilation. It would be useful Rigamonk if you could open the Rawr4.sln file and verify your model and commit the fixes so that the Rawr actually compiles as its rather frustrating that your commit broke Rawr.

Please note we've all done similar things, so this is NOT a pissed off person screaming at you its a fellow coder hoping to help you understand how things work. Jothay's explanation should tell you everything you need if not just post here and we'll get you sorted out soon so that Rawr compiles again.