The "Click to add class levels or hit dice" really needs to be removed for animal companions.
If you add a few levels of ranger (enough to have a companion), then on the ranger panel, click the add an animal companion button, you can then go to the develop menu, floating info windows, show selection fields, you'll see three things named "Animal Companion" - select all of them so you can see some details.
One has the unique ID "cRgrAComp" - that one's only function is to display the animal companion special in the list of ranger class specials, so don't worry about it.
Looking further, you'll see that "cAnimComp" has a lot more fields to work with than "cAnimClass" - so lets take a closer look at that. "CompLevAdj" is actually the field that stores the adjustment for high-level companions (the ones you can't take at first level). What you want is simply "CompLevel". Your halfling outrider class needs to add to that.
Now, close all these windows and go back to the develop menu and floating info windows. This time, select "Show Selection Tasks", and then select "cAnimComp". Looking at their scripts, you'll see that this is one of the cases where some of the scripts have been named (eventually, we want to name most of the scripts - that's just a time-consuming process). Note that the script on cAnimComp named "Companion Level Calculated" happens at First/499.
So, what you want to do is to add something to hero.childfound[cAnimComp].field[CompLevel].value, before First/499. Unfortunately, xTotalLev isn't calculated until PostLevel/0, so you can't put this on a class special, you'll have to put it on the class itself.
You should still add a class special to your class that tells the user your halfling outrider class is adding its levels to ranger for the purpose of calculating animal companion level.
Okay, for the script on your class (at First/100):
Code:
var level as number
var rangerlev as number
var bonus as number
var rangerbon as number
level = field[cTotalLev].value
rangerlev = hero.tagcount[Classes.Ranger]
~get the total effective druid levels we'll have from both our levels and ranger levels
bonus = (level + rangerlev) / 2
bonus = round(bonus,0,-1)
~now get the bonus we'd get from only our ranger levels
rangerbon = rangerlev / 2
rangerbon = round(rangerbon,0,-1)
~our bonus is the total, minus whatever the ranger levels are providing (so that we take into account situations where both classes have odd levels - on their own, each won't add an extra level, but added together, they will)
bonus -= rangerbon
hero.childfound[cAnimComp].field[CompLevel].value += bonus
I haven't tested this, so please tell me if you run into any trouble using it.