--- Quote Start ---
Warning: Tri-state node(s) do not directly drive top-level pin(s).
--- Quote End ---
Internal tri-state busses are only virtual. They are translated to multiplexers by Quartus. You have to take care, that the select condition for inidividual tri-state drivers connected to the "bus" are mutual exclusive, otherwise you get a "multiple net driver" error.
You'll always get some warnings with internal tri-state, that's the price of convenience. And they consume a lot of LUT and routing resources in a design. But that's basically the same with other bus topologies as the unidirectional bus used by SOPC builder.
--- Quote Start ---
But I will {32'BADADDR0,regs.tx_addr};
--- Quote End ---
You have to decode the condition, that no other bus interface is activated. It should work somehow, but seems like a kind of wasting resources in my view.