Transporte de veículos rodoviários (RoRo: Road-vehicle on Road-vehicle)
Fonte: pulsexlb/OpenTTD-patches
px-patch(lote de setembro de 2026), incorporado ao jrpm via git merge.
Visão geral
O "transporte de veículos rodoviários" permite que trens, navios e aviões transportem veículos rodoviários diretamente:
- Os veículos rodoviários não precisam mais dirigir por conta própria: podem "pegar carona" — um transportador os leva a uma estação distante e eles voltam a dirigir na estrada;
- O transportador (trem/navio/avião) ganha a capacidade de levar veículos rodoviários ao ser reconvertido para a carga "Vehicles (Road)" (carga dedicada
VEHC, que ocupa espaço de carga); - No lado do veículo rodoviário, as opções de ordem "Aguardar transporte" e "Desembarcar aqui" combinam com as opções "carregar veículos rodoviários" / "descarregar veículos rodoviários" do transportador.
Como usar
Lado do transportador (trem/navio/avião)
- Reconverta o trem num depósito manualmente para a carga "Vehicles (Road)" — tornar-se transportador só é possível por reconversão manual; a reconversão por ordem não se aplica;
- Ative "Carregar veículos rodoviários" numa ordem de estação: o trem embarca os veículos que esperam nessa estação;
- Opções de emparelhamento opcionais:
- "Aguardar carga" (partir só quando carregado);
- "Correspondência de destino": embarcar apenas veículos cuja estação de desembarque declarada seja o próximo destino do transportador;
- "Desembarcar aqui todos os veículos": desembarcar todos, ignorando a estação declarada por cada um.
Lado do veículo rodoviário
- Defina "Aguardar transporte" numa ordem de estação: o veículo para ali e aguarda um transportador;
- Defina "Desembarcar aqui": o veículo desce do transportador nesta estação;
- As duas opções são mutuamente exclusivas (uma por ordem);
- Ao desembarcar, o veículo faz uma passagem de busca de caminho para escolher a melhor plataforma.
Detalhes e regras
- Slot de carga dedicado: o transporte de veículos rodoviários usa o slot de carga 128 (
NUM_CARGO - 1), fora das 64 slots que um NewGRF pode definir; o total de tipos de carga foi ampliado de 64 para 128; - Detecção de transportador dedicado: quando todas as partes do veículo estão reconvertidas para "Vehicles (Road)", os botões de ordem mostram por padrão o transporte de veículos rodoviários; veículos com carga normal mostram carga normal;
- Configuração de partes transportadoras:
vehicle.rv_transport_carrier_partsdecide quais partes podem levar veículos rodoviários; - Carregamento entre empresas: opcionalmente permitir carregar/descarregar veículos de outras empresas com liquidação automática de taxas;
- Aviso "transportado por muito tempo": um aviso único quando um veículo foi levado por muito tempo;
- Listas de ordens criadas pelo jogador: listas compartilhadas/independentes também suportam as marcas de transporte de veículos rodoviários.
Compatibilidade com jogos salvos
- O estado de espera/transporte e as marcas de ordem são persistidos;
- Jogos salvos antigos (sem a marca XSLFI_CARGO_TYPES_128) são lidos com 64 slots de carga e permanecem compatíveis.
Comandos de console de depuração (desativados por padrão)
A família de comandos rvtransport só é compilada com a opção CMake RORO_DEBUG_COMMANDS=ON, para testes de regressão.
Código relacionado
- Núcleo:
src/roadveh_transport.h,src/cargo_type.h(carga VEHC) - Ordens:
src/order_cmd.cpp,src/order_gui.cpp,src/order_base.h(OrderExtraInfo) - Carregamento de trens:
src/train_cmd.cpp,src/station_cmd.cpp - Extensão de carga:
src/sl/station_sl.cpp,src/sl/company_sl.cpp(XSLFI_CARGO_TYPES_128)