UFO: Alien Invasion
|
Deals with the Transfer stuff. More...
#include "../../cl_shared.h"
#include "cp_campaign.h"
#include "cp_capacity.h"
#include "cp_time.h"
#include "save/save_transfer.h"
#include "cp_transfer_callbacks.h"
#include "aliencargo.h"
#include "aliencontainment.h"
#include "itemcargo.h"
Go to the source code of this file.
Functions | |
static void | TR_EmptyTransferCargo (base_t *destination, transfer_t *transfer, bool success) |
Unloads transfer cargo when finishing the transfer or destroys it when no buildings/base. More... | |
static void | TR_TransferEnd (transfer_t *transfer) |
Ends the transfer. More... | |
transfer_t * | TR_TransferStart (base_t *srcBase, transfer_t &transData) |
Starts a transfer. More... | |
void | TR_NotifyAircraftRemoved (const aircraft_t *aircraft) |
Notify that an aircraft has been removed. More... | |
void | TR_TransferRun (void) |
Checks whether given transfer should be processed. More... | |
bool | TR_SaveXML (xmlNode_t *p) |
Save callback for xml savegames. More... | |
bool | TR_LoadXML (xmlNode_t *p) |
Load callback for xml savegames. More... | |
void | TR_InitStartup (void) |
Defines commands and cvars for the Transfer menu(s). More... | |
void | TR_Shutdown (void) |
Closing actions for transfer-subsystem. More... | |
Deals with the Transfer stuff.
Definition in file cp_transfer.cpp.
|
static |
Unloads transfer cargo when finishing the transfer or destroys it when no buildings/base.
[in,out] | destination | The destination base - might be nullptr in case the base is already destroyed |
[in] | transfer | Pointer to transfer in ccs.transfers. |
[in] | success | True if the transfer reaches dest base, false if the base got destroyed. |
Definition at line 45 of file cp_transfer.cpp.
References _, AlienContainment::add(), AIR_AutoAddPilotToAircraft(), AIR_DeleteAircraft(), AIR_HOME, transfer_s::aircraft, base_s::aircraftCurrent, transfer_s::alienCargo, base_s::alienContainment, transfer_s::antimatter, B_AddAntimatter(), B_AddToStorage(), B_ANTIMATTER, B_GetBuildingStatus(), B_ItemIsStoredInBaseStorage(), cgi, Com_sprintf(), cp_messageBuffer, E_DeleteEmployee(), EMPL_PILOT, EMPL_SOLDIER, EMPL_WORKER, transfer_s::hasEmployees, i, transfer_s::itemCargo, ItemCargo::list(), AlienCargo::list(), LIST_Foreach, MAX_EMPL, MSG_TRANSFERFINISHED, MSO_CheckAddNewMessage(), base_s::name, NT_TRANSFER_LOST, base_s::pos, PR_UpdateProductionCap(), transfer_s::srcBase, TR_ForeachAircraft, TR_ForeachEmployee, type, and VectorCopy.
Referenced by TR_TransferEnd().
Defines commands and cvars for the Transfer menu(s).
Definition at line 567 of file cp_transfer.cpp.
References cgi, and TR_InitCallbacks().
Referenced by CP_InitStartup().
bool TR_LoadXML | ( | xmlNode_t * | p | ) |
Load callback for xml savegames.
[in] | p | XML Node structure, where we get the information from |
Definition at line 476 of file cp_transfer.cpp.
References ItemCargo::add(), AIR_AircraftGetFromIDX(), transfer_s::aircraft, transfer_s::alienCargo, B_AtLeastOneExists, B_GetBaseByIDX(), ccs, cgi, date_s::day, transfer_s::destBase, E_GetEmployeeFromChrUCN(), transfer_s::employees, ERR_DROP, transfer_s::event, Employee::getType(), transfer_s::hasEmployees, transfer_s::itemCargo, LIST_Add(), AlienCargo::load(), ItemCargo::load(), OBJZERO, SAVE_TRANSFER_AIRCRAFT, SAVE_TRANSFER_ALIENCARGO, SAVE_TRANSFER_AMOUNT, SAVE_TRANSFER_DAY, SAVE_TRANSFER_DESTBASE, SAVE_TRANSFER_EMPLOYEE, SAVE_TRANSFER_ID, SAVE_TRANSFER_ITEM, SAVE_TRANSFER_ITEMCARGO, SAVE_TRANSFER_ITEMID, SAVE_TRANSFER_SEC, SAVE_TRANSFER_SRCBASE, SAVE_TRANSFER_TRANSFER, SAVE_TRANSFER_TRANSFERS, SAVE_TRANSFER_UCN, date_s::sec, transfer_s::srcBase, Employee::transfer, ccs_s::transfers, cgame_import_s::XML_GetNextNode(), cgame_import_s::XML_GetNode(), cgame_import_s::XML_GetString(), and xmlNode_t.
Referenced by SAV_Init().
void TR_NotifyAircraftRemoved | ( | const aircraft_t * | aircraft | ) |
Notify that an aircraft has been removed.
[in] | aircraft | Aircraft that was removed from the game |
Definition at line 291 of file cp_transfer.cpp.
References cgi, and TR_Foreach.
Referenced by AIR_DeleteAircraft().
bool TR_SaveXML | ( | xmlNode_t * | p | ) |
Save callback for xml savegames.
[out] | p | XML Node structure, where we write the information to |
Definition at line 414 of file cp_transfer.cpp.
References cgi, MAX_EMPL, SAVE_TRANSFER_AIRCRAFT, SAVE_TRANSFER_ALIENCARGO, SAVE_TRANSFER_DAY, SAVE_TRANSFER_DESTBASE, SAVE_TRANSFER_EMPLOYEE, SAVE_TRANSFER_ID, SAVE_TRANSFER_ITEMCARGO, SAVE_TRANSFER_SEC, SAVE_TRANSFER_SRCBASE, SAVE_TRANSFER_TRANSFER, SAVE_TRANSFER_TRANSFERS, SAVE_TRANSFER_UCN, TR_Foreach, TR_ForeachAircraft, TR_ForeachEmployee, cgame_import_s::XML_AddNode(), and xmlNode_t.
Referenced by SAV_Init().
Closing actions for transfer-subsystem.
Definition at line 578 of file cp_transfer.cpp.
References ccs, cgi, EMPL_SOLDIER, MAX_EMPL, TR_Foreach, TR_ShutdownCallbacks(), and ccs_s::transfers.
Referenced by CP_Shutdown().
|
static |
Ends the transfer.
[in] | transfer | Pointer to transfer in ccs.transfers |
Definition at line 135 of file cp_transfer.cpp.
References _, ccs, cgi, Com_sprintf(), transfer_s::destBase, base_s::founded, MSG_TRANSFERFINISHED, MSO_CheckAddNewMessage(), base_s::name, NT_TRANSFER_COMPLETED_SUCCESS, NT_TRANSFER_LOST, TR_EmptyTransferCargo(), and ccs_s::transfers.
Referenced by TR_TransferRun().
Checks whether given transfer should be processed.
Definition at line 306 of file cp_transfer.cpp.
References Date_IsDue(), TR_Foreach, and TR_TransferEnd().
Referenced by CP_CampaignRun(), and TEST_F().
transfer_t* TR_TransferStart | ( | base_t * | srcBase, |
transfer_t & | transData | ||
) |
Starts a transfer.
[in] | srcBase | start transfer from this base |
[in] | transData | Container holds transfer details |
Definition at line 158 of file cp_transfer.cpp.
References AlienContainment::add(), AIR_AircraftGetFromIDX(), AIR_GetFirstFromBase(), AIR_GetHangarCapacityType(), AIR_IsEmployeeInAircraft(), AIR_RemoveEmployee(), AIR_TRANSFER, transfer_s::aircraft, base_s::aircraftCurrent, transfer_s::alienCargo, base_s::alienContainment, transfer_s::antimatter, B_AddAntimatter(), B_AddToStorage(), B_ItemIsStoredInBaseStorage(), CAP_AddCurrent(), ccs, cgi, count, ccs_s::date, date_s::day, DEFAULT_TRANSFER_TIME, transfer_s::destBase, E_MoveIntoNewBase(), transfer_s::employees, transfer_s::event, GetDistanceOnGlobe(), transfer_s::hasEmployees, i, aircraft_s::idx, transfer_s::itemCargo, ItemCargo::list(), AlienCargo::list(), LIST_Add(), LIST_Foreach, cgame_import_s::LIST_GetPointer(), MAX_EMPL, OBJZERO, base_s::pos, PR_ProductionAllowed(), RS_ResearchAllowed(), date_s::sec, SECONDS_PER_DAY, transfer_s::srcBase, and ccs_s::transfers.
Referenced by TEST_F(), and TR_TransferStart_f().