Resolution in First Order Logic
If you want to resolve C1 with C2, then the only option is for Loves(jack, x) (in C2) to match ¬Loves(x, F(x)) (in C1), and so as you state, you should substitute x=jack in C1 and x=F(jack) in C2. Upon making these substitutions, C1 and C2 become:

C1[x/jack] = ¬Loves(jack, F(jack)) or Loves(G(jack), jack)
C2[x/F(jack)] = ¬Animal(F(jack)) or Loves(jack, F(jack))

Resolving the two, we get:

¬Animal(F(jack)) or Loves(G(jack), jack)