في 17 ابريل 2008 12:45 م، قال سلوان الهلالي بهدوء وتؤدة:
لماذا تم إستخدام fixed point بدل float؟في 17 ابريل 2008 12:45 م، عقد سلوان الهلالي حاجبيه بتفكير وقال:
أيضاً, واجهني مصطلح لم أراه سابقاً, وهو "XFer", من جولة بحث سريعة توصلت إلى شبه إستنتاج إنه يعني "transfer", ولكن يبدو إن هنالك شئ آخر بخصوصه.وفي 17 ابريل 2008 12:45 م، قال سلوان الهلالي متحمساً:
سأقوم اليوم بتطبيق نظام الإدخال الجديد, ولكن حتى الآن لم أقرر كيفية إرتباطه باللعبة, إما بإستخدام إستدعاءات مبعثرة بشكل مماثل لما هو موجود الآن أم هل من الأفضل تطبيقه بإستخدام نظام Event Based (تطبيق class خاص يمكن الوراثة منه ويتم عن طريقه إرسال أحداث الإدخال للكائنات التي يتم تسجيلها كمستلمات للإدخال Even Listeners), انا متأكد من وجود طرق أخرى قد تكون أفضل بالنسبة لحالتنا هنا, ...وفي 17 ابريل 2008 06:26 م، قال وسام البهنسي متحمساً:
* إضافة وهج أبيض بشكل فلاش متكرر عند جمع آخر جوهرة (كما في الجزء الثاني)// new code
// this code added to the end of the class declaration
private:
int m_iBlinking;
// end new code
// new code
m_iBlinking = -1;
// end new code
void Chamber::Tick(void)
{
for (UINT i=0;i<m_lstcollectables.size();i++)>
m_lstCollectables[i]->Tick();
// new code
if (m_iBlinking > 0)
m_iBlinking--;
// end new code
for (DWORD i=0;i<m_agates.size();i++)>
m_aGates[i].Tick();
}
// new code
// new code modification here
// end new code
وفي 17 ابريل 2008 06:26 م، ظهر شبح ابتسامة على وجه وسام البهنسي وهو يقول:
يمكنكم إرسال الكود الجديد لي مباشرة إما كبريد شخصي، أو كمرفقات في الردود، وأنا سأقوم بإدراجها في آخر نسخة وطرحها للبقية.في 18 ابريل 2008 04:02 م، قال وسام البهنسي بهدوء وتؤدة:
هل لاحظ أحدكم أنها تعمل أبطأ بكثير من النسخة الأصلية التي طرحناها في البداية؟في 18 ابريل 2008 04:02 م، عقد وسام البهنسي حاجبيه بتفكير وقال:
* حبذا لو يتم تسريع الوميض وتقصير مدته. أعتقد أن فترة ظهور لثانية واحدة (أو حتى أقل قليلاً) مع تسريع الوميض بمقدار الضعف سيكون أفضل. ترك التأثير يعمل لمدة طويلة قد يجلب الصرع، لذا فلندعه محدوداً قدر الإمكان.bool bRenderBlinking = bBlinking && ( ((m_iBlinking/5) & 1) ? true : false );
يمكن تغيير ال 5 لنحصل علي تسريع لعملية ظهور الوميض او زيادتها لتسريع الوميض (يمكنك أخى وسام أن تختاروفي 18 ابريل 2008 04:02 م، قال وسام البهنسي متحمساً:
* ما هو سبب وضع المتغير m_iBlinking ضمن قسم الـ private؟وفي 18 ابريل 2008 04:02 م، ظهر شبح ابتسامة على وجه وسام البهنسي وهو يقول:
* طريقة تهيئة قيمة المتغير m_iBlinking تختلف عن طريقة تهيئة بقية المتغيرات في الـ class. لماذا؟enum GameControl
{
GameControl_Left,
};
InputManager::Instance->KeyboardAssignControl(GameControl_Left, DIK_LEFT);
InputManager::Instance->KeyboardAssignControl(GameControl_Left, DIK_NUMPAD4);
InputManager::Instance->JoystickLeftAssignControl(GameControl_Left);
if( InputManager::Instance->ControlDown(GameControl_Left) )
WalkLeft();
وفي 18 ابريل 2008 06:15 م، ظهر شبح ابتسامة على وجه سلوان الهلالي وهو يقول:
لم أجد طريقة مباشرة للحصول على window handler أو hWnd التابعة لنافذة اللعبة حيث إن كود صناعة النافذة موجود في داخل CoreLib.في 19 نيسان 2008 04:54 ص، غمغم وسام البهنسي باستغراب قائلاً:
تباً. لقد سقط هذا الإجراء سهواً. آسف لذلك، وإن كان هناك بالفعل طرق أقل هكرنة لتحقيق الهدف (مثل استقبال القيمة من الـ Window Procedure، أو سحبها من Direct3D). المهم، الكود المرفق يحتوي تعديلاتك مع نسخة جديدة من CoreLib تدعم الحصول على الـ HWND لنافذة اللعبة.بتاريخ 19 نيسان 2008 04:54 ص، قطب وسام البهنسي حاجبيه بشدة وهو يقول:
التصميم جيد. لكن كود كتابة الأحرف لكلمة السر يبدو وكأنه خرق للنظام الجميل الذي قمت أنت بتصميمه. أرجو أن يقترح بقية الأعضاء تصميماً لهذه النقطة.وفي 19 نيسان 2008 04:54 ص، أعرب وسام البهنسي عن رأيه بالموقف كالآتي:
المشكلة الكبرى لدي هي أن اللعبة لم تعد تعمل عن طريق لوحة المفاتيح. يبدو أن الـ device دائماً في حالة ضياع، ولا يمكن إعادة التحرز عليها (acquire) بسبب خطأ Access Denied :| هذا على الأقل ما كنت أراه في الـ Debugger.في 19 نيسان 2008 04:54 ص، قال وسام البهنسي بهدوء وتؤدة:
الاستثناء الوحيد هو أنها تعمل في شاشة كلمة السر. وهنا لدينا بضع أخطاء أيضاً، فكلمات السر لم تعد تعمل إلا لو كنت تستخدم زر Shift أو Caps Lock. أعتقد أن استخدام WM_CHAR ليس ضرورياً هنا، فالحالة محدودة جداً. والسبب الآخر هو في حال كون المستخدم قد حدد اللغة العربية مثلاً كلغة افتراضية لجهازه، فإنه لن يستطيع إدخال كلمة السر أبداً إلى أن يغير اللغة، وبرأيي هذا تعقيد ليس له مبرر قوي.في 19 نيسان 2008 04:54 ص، عقد وسام البهنسي حاجبيه بتفكير وقال:
أما بالنسبة لكود الـ joystick، فلسبب ما اللاعب دائماً يسير نحو اليسار، وتوزيع الأزرار يحتاج إلى تعديل ليصبح أكثر راحة (كنت أجرب على Xbox360 Controller).