[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 LancemateSquadOrders::CreateCommand(LancemateCommands::ID command_id) Stuff::Auto_Ptr 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