Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
238 lines
6.5 KiB
Plaintext
238 lines
6.5 KiB
Plaintext
[Mission Review]
|
|
움직임 정보 - 이동, 회전, 몸통회전, 셨다운
|
|
무기 발사 - 누가 어디를 향하여 무엇을 발사.
|
|
데미지 정보 - 누구의 무슨 무기에 어디를 가격 당함...
|
|
충돌 정보 - 누가 누구(어떤 빌딩)의 어디 부분에 부딪혀서 얼마의 데미지
|
|
이젝트 - 누가 이젝트
|
|
리스폰 - 어디에 누가 리스폰...
|
|
사용자 및 멕 상태...
|
|
|
|
[Score Sheet]
|
|
콘솔에서 프린트하기
|
|
[Console]
|
|
중간에 게임 캔슬하기.
|
|
|
|
RecScore(const ReplicatorID& who, const ReplicatorID& whom, int nType, UINT uWhere, UINT uBy, DWORD dwParam)
|
|
|
|
Mech::PostCollisionExecute
|
|
Mech::ReactToDestruction
|
|
ScoringReactToMechDeath
|
|
Entity::TakeDamage
|
|
ReactToDamageTaken
|
|
|
|
CBucketManager::UpdateFrame
|
|
CBucketManager::UpdateObjectiveFrame
|
|
--Flag::IncrementScore
|
|
|
|
MWInternalDamageObject::_TakeDamage
|
|
Mech::TakeDamageMessageHandler
|
|
Mech::ReactToHit
|
|
Mech::ReactToDamageTaken
|
|
|
|
[binary파일들]
|
|
.obb
|
|
|
|
netclientservercontoller.cpp 443line "// jcem - Verify(fabs(time_dif) > 0.0f);"
|
|
ElementRenderer::GroupElement::SetSyncState() - 380line
|
|
adept/tile.cpp "Verify(enter >= 0.0f && enter <= leave);" 65line
|
|
|
|
void VehicleInterface::SetGUITarget(Entity* target)
|
|
{
|
|
if (g_pCurTOC) {
|
|
Entity* oldTarget = m_interfaceTarget.GetCurrent();
|
|
if (oldTarget) {
|
|
g_LastTarget = oldTarget->GetReplicatorID();
|
|
} else {
|
|
g_LastTarget = g_null_repid;
|
|
}
|
|
}
|
|
|
|
|
|
Libraries/Adept/UserInterface.cpp
|
|
/Adept/Application.cpp
|
|
Code\MW4GameEd2\MW4GameEd2.cpp & stdafx.h
|
|
scriptstrings.rc IDS_MP_BOT_NAME "Player Name:"
|
|
|
|
|
|
// jcem - start
|
|
if (CTCL_IsConsole()) {
|
|
extern bool InNetworkGame;
|
|
extern bool IAmTheServer;
|
|
|
|
InNetworkGame=0;
|
|
IAmTheServer=0;
|
|
}
|
|
|
|
ReplicatorID base_id;
|
|
|
|
if (!CTCL_IsConsole()) // jcem
|
|
base_id = Connection::Local->GetNextReplicatorID();
|
|
|
|
int __stdcall CTCL_IsTeslaUsed(void* instance, int args, void* data[])
|
|
|
|
GetLeader()...
|
|
-> "AI_Lancemate.cpp" AI_SquadOrders.hpp
|
|
|
|
mwapplication.cpp
|
|
// team order
|
|
MESSAGE_NAME(MechWarrior4::MWApplication::TeamOrderMessageID);
|
|
MESSAGE_NAME(MechWarrior4::MWApplication::svrTeamOrderMessageID);
|
|
MESSAGE_NAME(MechWarrior4::MWApplication::RepTeamOrderMessageID);
|
|
MESSAGE_NAME(MechWarrior4::MWApplication::svrRepTeamOrderMessageID);
|
|
// team order
|
|
|
|
BOOL g_bExitGameOS_via_exit = TRUE;
|
|
GameOS/ImageHlp.cpp & GameOS/Libraries.cpp// directory settings...
|
|
|
|
GameOS/WinMain.cpp
|
|
// 鉉 - start
|
|
if (g_pfnRIO_Proc) {
|
|
(*g_pfnRIO_Proc)();
|
|
}
|
|
// 鉉 - end
|
|
|
|
GameOS/WinProc.cpp
|
|
// 鉉
|
|
case WM_USER + 100:
|
|
{
|
|
// 鉉 - start
|
|
if (g_pfnRIO_ButtonEvent) {
|
|
(*g_pfnRIO_ButtonEvent)((BYTE*)&lParam);
|
|
}
|
|
// 鉉 - end
|
|
}
|
|
break;
|
|
|
|
|
|
AddToLancemateGroup
|
|
|
|
void MWMission::CreateLancemateGroups()
|
|
|
|
void Vehicle::ProcessCommand(int command)
|
|
MWPlayer::LancemateCommandProxy::IssueCommand(Vehicle* v, MW4AI::LancemateCommands::ID command)
|
|
|
|
void LancemateCommands::Execute(ID command, const lancemate_list& lancemates)
|
|
void ExecuteForAllLancemates(const lancemate_list& lancemates, LancemateCommands::ID command_id)
|
|
inline MW4AI::SquadOrders* CombatAI::GetSquadOrders()
|
|
bool LancemateSquadOrders::CanExecuteCommands() const
|
|
Stuff::Auto_Ptr<LancemateCommands::LancemateCommand> LancemateSquadOrders::CreateCommand(LancemateCommands::ID command_id)
|
|
Stuff::Auto_Ptr<LancemateCommands::LancemateCommand> LancemateCommands::CreateLancemateCommand(ID command,
|
|
LancemateCommand::LancemateCommand(CombatAI& combat_ai,
|
|
|
|
|
|
bool LancemateSquadOrders::ShouldRunScript() const
|
|
|
|
EntityManager::PreCollisionExecute(Time till)
|
|
ResolveReactionSpheres();
|
|
Mission::PreCollisionExecute(Time till)
|
|
Entity::PreCollisionExecute(Time till) <- mwmap(m_executingAIs) - MechAI - CombatAI
|
|
|
|
void CombatAI::PreCollisionExecute(Stuff::Time till)
|
|
void CombatAI::Update(Stuff::Time till)
|
|
void CombatAI::UpdateSquad()
|
|
void Group::UpdateAI(CombatAI& combat_ai)
|
|
m_SquadAI->Update(*this,combat_ai);
|
|
m_SquadOrders->Update();
|
|
|
|
|
|
|
|
{FRIENDLY|ENEMY}_COMPONENT_{KILLS|DEATHS}
|
|
KILLS|SUICIDES|DEATHS=>KILLS_BY_TONNAGE|FRIENDLY_KILLS_BY_TONNAGE|ENEMY_KILLS_BY_TONNAGE
|
|
DFA
|
|
LEG_SHOTS,ARM_SHOTS,TORSO_SHOTS,HEAD_SHOTS
|
|
DAMAGE_RECEIVE,DAMAGE_INFLICT=ENEMY_DAMAGE_RECEIVE,ENEMY_DAMAGE_INFLICT,FRIENDLY_DAMAGE_RECEIVE,FRIENDLY_DAMAGE_INFLICT
|
|
|
|
[todo]
|
|
Score Sheet
|
|
Cameraship
|
|
hsh/*.bmp들을 resource들로....
|
|
Console
|
|
|
|
Weapon Assignment - ok
|
|
Team Ordering -ok
|
|
RGB 분리-ok
|
|
[todo]
|
|
비디오 카드 종류 디스플레이하는 문제.
|
|
콘솔에서 Skin 선택문제
|
|
전에 버추얼월드에서 ctcl.ini에 관하여 수정사항 보내준 문서...
|
|
|
|
사용자 Mech Sync문제
|
|
|
|
콘솔에서 맵을 바꾸었을 때 팀 갯수가 제대로 Refresh되지 않음.
|
|
|
|
Console에서 현재 게임에 대한 정보(남은시간, 게임이름, 게임 상태)
|
|
클라이언트로 참여한 후 CGameList::~CGameList의 filter지울 때 문제
|
|
게임 만들기/참여 등에서 문제가 생겨서 StartMainShell해야 되는 경우...
|
|
/////
|
|
|
|
shell.script
|
|
mainmenu.script -> callback($$SetShellCommand$$, START_NETWORK_SHELLS_COMMAND) & @SHELL@currentScreen = LAUNCHGAME
|
|
|
|
MW4Shell::StartNetworkShellsCommand
|
|
mw4shell.cpp -> StartNetworkStartupScreen
|
|
Adept::gos_NetStartGame
|
|
|
|
Multiplayer/MultiplayerConsole.script
|
|
// init
|
|
callback($$CancelDialup$$)
|
|
callback($$LoadMPConnectionSettings$$) -> load all m4c*(==name).m4c
|
|
callback($$InitConnectionWizard$$) -> set 0 index or create new connection file & load
|
|
|
|
// on button(host or connect)
|
|
|
|
$$ConnectionIndex$$ = o_connections_droplist.nselected
|
|
callback($$PreConnect$$)
|
|
callback($$GetDialupConnectionStatus$$)
|
|
Multiplayer/Hostgame1.script or Multiplayer/Listofgames.script
|
|
|
|
|
|
[bugs]
|
|
file:
|
|
line(101): o_thumbslide_skins.region = 0,-2 to buttonwidth,o_thumbslide_skins.handleheight+2
|
|
* replace o_downarrow_skins.handleheight with o_thumbslide_skins.handleheight
|
|
scriptkeywords.cpp(6042):
|
|
아래의 내용이 중복?...
|
|
if( *pLine=='(' )
|
|
{
|
|
FoundOpen=1;
|
|
pLine++;
|
|
}
|
|
|
|
[stlport를 사용하는 프로젝트]
|
|
stuff
|
|
map:NotationFile.*
|
|
Adept
|
|
vector:control_mapping.*, controls.*
|
|
ElementRenderer
|
|
map:gosFXElement.* <- GosFX::EffectLibrary.*
|
|
GosFX
|
|
map:EffectLibrary.*
|
|
MW4
|
|
vector,slist,map,list,stack
|
|
::sort, ::reverse, ::binary_function
|
|
|
|
[빌드과정에서 미심적은 부분]
|
|
Content/Textures/Maps/Lunar02/CA|CB|CC
|
|
Content/Textures/Customdecals/cstmdcal.txt
|
|
Maps/Misc
|
|
|
|
[Build에 관한 사항]
|
|
Script로 구현
|
|
|
|
Target
|
|
기본 함수 - Directory & Wild Card
|
|
Macro - Param
|
|
Except
|
|
exclude - Duplicated
|
|
filtering
|
|
compression - w/ param
|
|
encryption
|
|
|
|
[!4] MissionLang/StlPort
|
|
[stdcall] GameOS/GamePlatform/Gosscript/ImageLib/MFCPlatform
|
|
|
|
jgarbarini@virtualworld.com
|
|
mlowrance@virtualworld.com
|
|
|
|
|