Clang
رفتن به کانال در Telegram
یه کانال شخصیه برای تمرین C. این کانال مثل یک دفترچه یادداشته واسه من، نه یک جایی که محتواش رو تضمین کنم برای همه همچنین سعی کنید نکاتی که اینجا میگم رو با افراد حرفه ای به اشتراک بزارید و به چالش بکشید، من از خدامه بهتر شم. https://t.me/ccismywife
نمایش بیشتر221
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-27 روز
-430 روز
در حال بارگیری داده...
کانالهای مشابه
هیچ دادهای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
ابر برچسبها
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
ژوئیه '26
ژوئیه '26
+2
در 0 کانالها
ژوئن '26
+4
در 0 کانالها
Get PRO
مه '26
+1
در 0 کانالها
Get PRO
آوریل '26
+1
در 0 کانالها
Get PRO
مارس '260
در 0 کانالها
Get PRO
فوریه '26
+8
در 0 کانالها
Get PRO
ژانویه '26
+3
در 0 کانالها
Get PRO
دسامبر '25
+15
در 1 کانالها
Get PRO
نوامبر '25
+10
در 0 کانالها
Get PRO
اکتبر '25
+22
در 0 کانالها
Get PRO
سپتامبر '25
+123
در 1 کانالها
Get PRO
اوت '250
در 0 کانالها
Get PRO
ژوئیه '25
+20
در 0 کانالها
Get PRO
ژوئن '250
در 0 کانالها
Get PRO
مه '25
+83
در 1 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 26 ژوئیه | 0 | |||
| 25 ژوئیه | 0 | |||
| 24 ژوئیه | 0 | |||
| 23 ژوئیه | 0 | |||
| 22 ژوئیه | 0 | |||
| 21 ژوئیه | 0 | |||
| 20 ژوئیه | 0 | |||
| 19 ژوئیه | +1 | |||
| 18 ژوئیه | 0 | |||
| 17 ژوئیه | 0 | |||
| 16 ژوئیه | 0 | |||
| 15 ژوئیه | 0 | |||
| 14 ژوئیه | 0 | |||
| 13 ژوئیه | 0 | |||
| 12 ژوئیه | 0 | |||
| 11 ژوئیه | 0 | |||
| 10 ژوئیه | 0 | |||
| 09 ژوئیه | 0 | |||
| 08 ژوئیه | 0 | |||
| 07 ژوئیه | 0 | |||
| 06 ژوئیه | 0 | |||
| 05 ژوئیه | 0 | |||
| 04 ژوئیه | +1 | |||
| 03 ژوئیه | 0 | |||
| 02 ژوئیه | 0 | |||
| 01 ژوئیه | 0 |
پستهای کانال
راستشو بخواید من دانشگاه نرفتم، ولی درباره بعضی از استادا چیزایی شنیدم که با خودم میگم یک نفر چقدر میتونه عقده ای باشه و مادر****؟ خدا رحم کرد اینا استادن قاضی نیستن، مثلاً کار از دستشون بر میاد برای کمک ولی میگن نمیتونم یا اصلا درس نمیدن و سوالاتی میارن کت خودشونم ممکنه نفهمن چی گفتن و مدام لج میکنن و اذیت میکنن و میگن اگه فکر میکنید استادتون سخت گیره سخت در اشتباهید و بعداً میفهمید مدیریتون از استادتون سخت گیر تره چون امنیت شغلی استادتون رو نداره و همین چرتو پرتا و خودشون یک جوری دست بالا میگیرن انگار نوبل دارن و خفن تر از اونا نیست.
بدیهی هستش که منظورم همه استادا نیست و عده قلیلی هستن که اینقدر کسکشن... باور کنید آدمایی پیدا میشه که یا رشتشون یک چیز دیگه اس یا اصلا دانشگاه نرفتن ولی کارایی میتونن بکنن که همین استادای گنده گوز پشماشون بریزه... والا... دلم پر بود، دو سه مورد ازشون رو دیدم این مدت و تنها تریبونم همینجا بود.... #دلنوشته
| 2 | https://youtu.be/r9zpNPg53lg?si=RYCTng7F5WFnGR0- | 45 |
| 3 | خدایی؟ یا شوخیه؟😂 | 20 |
| 4 | خب، شروع شد، اونا مارو به عصر حجر نبردن خودمون روزی چند ساعت میریم عصر حجر | 1 |
| 5 | sc_6a2fe50bf12de.mp3 | 93 |
| 6 | درود دوستان،
نسخه نخست پلتفرم «وبها» (Webha) تا ۱۸ روز آینده رسماً راهاندازی خواهد شد. اگر هنوز با کارکرد وبها آشنایی ندارید، باید اشاره کنم که این سرویس یک پلتفرم وبلاگنویسی نسل سوم محسوب میشود؛ پروژهای که با هدف مدرنسازی و احیای مجدد فرهنگ وبلاگنویسی پا به عرصه وجود گذاشت.
اما در طول مسیر توسعه، چشمانداز ما گسترش یافت و تمرکز پلتفرم به سمت ایجاد فضایی امن و اختصاصی برای وبلاگنویسان، نویسندگان، روزنامهنگاران، تولیدکنندگان حرفهای محتوا و تمامی علاقهمندان به داشتن یک رسانه شخصی مستقل معطوف شد.
در این راه، برای دستیابی به بالاترین سطح عملکرد و شخصیسازی، توسعه تمامی زیرساختها را خودمان بر عهده گرفتیم؛ از طراحی و پیادهسازی یک موتور قالب اختصاصی (Custom DSL-Like Template Engine) گرفته تا هر ابزاری که برای تحقق این ایده نیاز بود.
در نسخه اول وبها، شما با هسته اصلی سیستم و تجربه کاربری (UX) متمایز نویسندگی در این پلتفرم آشنا خواهید شد. متعاقباً و به مرور زمان، قابلیتهای امنیتی و کلیدی پلتفرم برای حفاظت از حریم خصوصی شما فعال میشوند؛ از جمله:
سیستم نظرات خصوصی با رمزنگاری سرتاسری (E2E Encrypted Comments): برای تضمین امنیت کامل در تعاملات دوطرفه.
پستهای واقعاً خصوصی: برخلاف بسیاری از سیستمهای سنتی که صرفاً با یک فرم رمز عبور ساده و رمزنگاریهای آسیبپذیر از محتوا محافظت میکنند، ما معماری امنیتی عمیقتری را برای حفاظت از نوشتههای خصوصی شما پیادهسازی کردهایم.
بهزودی با دستاورد تلاشهای شبانهروزی ما (یک تیم ۴ نفره)، با «وبها»، ملاقات خواهید کرد…
فَرِهان - برنامه نویس سطح پایین و پروداکت منیجر وبها
@webhablog | 109 |
| 7 | هیچ چیزی اندازه مدلسازی یا حل مسئله روی کاغذ نمیتونه ذهنو باز کنه | 128 |
| 8 | یک چیز جالب توی C# متوجه شدم، object ها آدرسشون حتی توی یک بلاک ثابت نیست
هنوز دارم روی ابزار Telltale localization کار میکنم، چون قبلی یک سری ایراد داشت و اصلاً کدش رو مرتب ننوشته بودم و صرفاً برای تست بود تا ببینم روشی که تو سرمه کار میکنه یا نه. بگذریم...
داشتم کد های یک ابزار دیگه رو میخوندم برای تبدیلات و فشرده سازی تکسچر ها، که به یک کلمه کلیدی با نام fixed رسیدم. درباره unsafe یک چیزایی میدونستم که برای استفاده از اشاره گر ها و کد های سطح پایین تر استفاده میشه(انتزاع کمتر) ولی fixed رو اولین بار بود دیدم. بعد از جستجو متوجه شدم که دات نت آدرس object هارو هی تغییر میده، نه اینکه وقتی مثلاً یک تابع رو دوباره اجرا کنی هر بار object های توش یک آدرس بگیرن، توی همون تابع، مثلاً ده بار به یک object دسترسی داشته باشید، ممکنه آدرس فعلی نسبت به آدرس قبلی متفاوت باشه؛ بسته به اینکه GC.Collect کی اجرا بشه!
مثلاً توی کد زیر، ممکنه آدرس هر دسترسی به یکی از اعضای آرایه نسبت به قبلی فرق کنه:
int[] arr = new int[2] { 1, 2 };
arr[0] = 5;
arr[1] = 22;
arr[0] = 9;
احتمالش خیلی کمه ولی موجوده که arr[0] اولی و دومی، محتوای دو تا آدرس مختلف توی حافظه رو تغییر بدن. البته توجه کنید، منظور اینه که کل آرایه جا به جا میشه نه فقط یک عنصر وگرنه اصلاً منطقی نیست
خب چرا؟
همه ما میدونیم که زباله روب دات نت حافظه رو خودکار مدیریت میکنه و مواردی که نیازی بهشون نیست رو به سیستم عامل تحویل میده و اون بخش های حافظه رو آزاد میکنه. ولی برای بالا بردن سرعت تخصیص حافظه میاد و فضای خالی بین object هارو پر میکنه(منظور از فضای خالی، همون object هایی هستن که دیگه توی Managed memory اصلاً جایگاهی ندارن؛ به عبارت دیگه پاک شدن) و اینکارو با جا به جایی object و نزدیک کردنشون به هم انجام میده، این بخش در حقیقت همون Managed memory هستش.
حالا fixed چیکاره اس؟
کلمه کلیدی fixed میگه چیزی که این اشاره گر بهش اشاره میکنه رو تغییر نده؛ خود اشاره گر هم همینطور! نمیگه GC اجرا نشه!!! صرفاً میگه اگه GC.Collect اجرا شد کاری به اینا نداشته باشه. یعنی کد زیر تضمین میکنه که p همیشه به یک عنصر arr[0] اشاره کنه و arr[0] تا زمانیکه توی fixed هستیم آدرسش عوض نمیشه!
unsafe
{
fixed (int* p = &arr[0])
{
*p = 666;
}
}
جالبیش این بود که آدرس های object ها در حال تغییره و ما به خاطر انتزاع فکر میکنیم این ها همیشه یک جا هستن توی حافظه تا زمانی که پاک بشن و بیان دوباره... حافظه managed توی دات نت خیلی پویا تر از این حرفاس. البته اینم بگم اینطوری نیست که زباله روب حوصله اش سر بره بیاد object هارو هر وقت عشقش کشید در صورت نیاز حافظه هاشون رو آزاد کنه! اون مثالی که زدم از نظر تئوری ممکنه، نه قطعاً! مگه اینکه بین دستورات از GC.Collect() استفاده کنید.
اگه چیزی اشتباه گفتم یا بد برداشتم کردم خوشحال میشم بگید تا یاد بگیرم.
#نکته | 264 |
| 9 | خیلیا هنوز ته دلشون میترسن هوش مصنوعی جاشون رو بگیره ولی به این قضیه توجه کنید که :
کد نویسی، چیزی جز بیان کردن نیازمندیها با دقیقترین جزئیات ممکن نیستش.
بنابراین اگر با یه متن به اسم پرامپت یه نفر تونست یه محصولی بسازه در واقع فقط زمین بازیش رو از کد زدن به پرامپت نوشتن عوض کرده و بجای کد پرامپت نوشته، اگر هم فرض کنیم اون متن پرامپت اونقدری ساده باشه و محصول قوی تولید کرده باشه پس با اصل قضیه در تضاده چون جزییات توش بیان نشده و محصول اون چیزی که میخواد نمیشه چون بیان نشده و اگر هم بخواد دقیق بیانش کنه در واقع داره کد میزنه!
@Linuxor | 102 |
| 10 | اینترنت ایران تخمی ترین اینترنتت دنیا و ایرانسل تخمی ترین ISP دنیاس الا | 126 |
| 11 | خب Atlas چیه دیگه؟
توی بازی های ویدیویی، یک روشی هست که از طریق اون به جای اینکه از امکانات استاندارد نوشتن متن با فونت های رایج TTF استفاده کنن، میان و شکل کاراکتر هایی که نیاز دارن رو توی یک سری صفحات گرافیکی به طول و عرض مشخص کنار هم قرار میدن. Atlas ها فقط شامل شکل و شمایل هر کاراکتر هستن و اطلاعاتی درباره اینکه چند تا کاراکتر توی خودشون دارن، و هر بخششون متعلق به چه CharCodeی هستش و... ندارن. مثلاً میتونم به جای A بزارم X، ولی مگه مریضم....
خب، Glyph چیه؟
هر کاراکتر توی Atlas رو بهش میگیم Glyph.
خب بازی ها چطوری میفهمن که چی رو از کجا بخونن و کجا و چطور قرارش بدن؟
علاوه بر Atlas ها، هر بازی میتونه font file اختصاصی داشته باشه که توش اطلاعاتی درباره جدول گلیف ها، تعداد Atlas ها و و ارتباط بینشون موجود باشه. همچنین توی متادیتا فونت بین خطوط چقدر فاصله باشه یا بین کاراکتر ها چقدر فاصله باشه.
حالا هر جوری هم ذخیره کنن، باید لیست Glyph ها رو هم دقیق داشته باشن. هر عضو این لیست تعیین میکنه که هر کاراکتر متعلق به چه Atlasی و با چه طول و عرض و مختصاتی هست و عدد پشتش چیه.
—————
اینا خلاصه وار بود و درک خودم بود و منم متخصص نیستم، صرفاً از این کار لذت میبرم و قدم قدم بیشتر یاد میگیرم اگه مسئولین محترم تر نزنن بهش(البته تا الاً هم زدن ولی فعلاً که میشه کنار اومد)
#نکته | 162 |
| 12 | ابزار TTF2FONT رو ساختم؛ ولی...
فقط اسمش TTF to FONT هستش، چون به دلیل پیچیدگی ساخت Atlas ها و جدول Glyphها از TTF و کمبود وقت و حوصله، از یک راه در رو استفاده کردم که دقیقاً میاد و Bitmap font برام میسازه(راه در رو)
این ابزار چیکار میکنه؟
1. میتونه یک فایل Font مربوط به بازی WD3 بگیره و Glyphها و Atlasهای توش رو به همراه Metadata فایل .font توی یک پوشه استخراج کنه. این بخش رو صرفاً برای این ساختم که فرمت Font رو بتونم درک کنم و بازش کنم تا بفهمم چطور دوباره ببندمش ولی اونطوری که خودم میخوام
2. میتونه کار اصلی که ازش میخوام رو انجام بده، یعنی بهش یک سری Atlas و Glyph info بدم و برام یک فایل font معتبر بسازه.
برای ساخت این ابزار، سورس ابزار های دیگه رو خوندم و در صورت نیاز استفاده کردم، هر کدومشون ایراداتی داشتن و برای ویندوز طراحی شده بودن و مجبور بودم تغییراتی رو اعمال کنم. درک بیشتری هم نسبت به dds ها پیدا کردم و اینکه چطور از float برای مختصات استفاده میکنن یا الگوریتم های فشرده سازی pixel data.
در کل تجربه جالبی بود
#ابزار | 164 |
| 13 | هنوز کار داره، ولی ابزار تبدیل TTF به FONT اوکی شد و همونطور که مشخصه گچ پژ هم داریم، ولی حالا چالش های مرتبط با LTR و RTL مونده
#موقتی | 5 |
| 14 | میخواین این آهنگو بهتر بفهمید اینو ببینید
https://youtu.be/WrlGn0k6j0I?si=XMZdCqGOXsn7OsAO | 63 |
| 15 | sc_6a3470b2569ab.mp3 | 124 |
| 16 | طی صحبت جدیدی که با برنامه نویسا داشتم متوجه شدم که بیشتر افراد در حال حاضر به چالش های مالی برخوردند
و متاسفانه یا تعدیل شدند و یا نمیتونند پروژه بگیرند 🤷♂️
همین شد که تصمیم گرفتم یه وبینار برگزار کنم و راجب تجربیات شخصی خودم از پروژه گرفتن توی شرایط جنگ صحبت کنم، این وبینار تجربه محوره و کاملا رایگانه
هدفم اینه که کمکی کرده باشم در این شرایط ❤️
🔗 ثبت نام در وبینار
http://eseminar.tv/wb178333 | 142 |
| 17 | بازی The Walking Dead: A New Frontier (Telltale 🎮 engine)
یک بار همینطوری زد به سرم یک بازی اندروید رو بومی کنم(برای فان) و از بخت بدم بعد از سرچ کردن با این بازی رو به رو شدم و دو سه روزی هست دارم روش کار میکنم و با چالش هایی رو به رو شدم که هر جور حساب میکنم ارزش وقت گذاشتن نداره ولی خو سعی میکنم انجام بشه. موتور بازی سازی مورد استفاده ازش منسوخ شده البته.
🤔تا اینجا چی داریم؟
بعد سرچ کردن توی اینترنت و قطعاً کمک گرفتن از AI یک سری ابزار خوب برای کار کردن روی بازی های Telltale پیدا کردم که خوشبختانه اکثراً با C# نوشته شدن.
مثلاً TTG و Telltale Texture ولی یک ابزار پیشرفته تر و سطح پایین تر هم به اسم Telltale Inspector بود که درک خوبی بهم داد نسبت به فایل های بازی.
به صورت کلی بخوام بگم:
1. این موتور از lua برای کد های بازی استفاده میکنه(کاری بهش نداریم چون تا اینجا که واقعاً به کارم نیومده)
2. این موتور بازی سازی برای مدیریت زبان ها از landb یا langdb استفاده میکنه که شامل رشته های مورد استفاده توی بازی هستن برای یک زبان خاص(توی این بازی landb)
3. ابزار TTG خیلی خوبه ولی یک سری ایرادات داره که یا فرایند کار خیلی کند میشه یا اصلاً قابل انجام نیست؛ برای همین یک بخش هایی ازش رو برای افزایش سرعت مجبور شدم تغییر بدم
4. منابع(فایل هایی که شامل متن، تکستچر و... هستن) از فرمتی به اسمه MSV6 استفاده میکنن، این فرمت در واقع یک فرمت کلی هستش که برای ذخیره و سریالیزه کردن انواع داده ها و فایل ها استفاده میشه؛ در سطح پایین به این ها میگیم Meta Stream
😵💫چالش اصلی
از اونجایی که هدف اصلی من ترجمه و بومی سازی بازیه، باید بتونم متن هارو فارسی کنم دیگه، تازه متن هارم پیدا کردم و فرمتشون هم میدونم چیه و چطوریه داستانش ولی خو...
این بازی از فونت هایی با فرمت .font استفاده میکنه که جزئی از منابع بازی محسوب میشه؛ یعنی MSV6 هست و فرمت رایجی نیست. توی این فرمت ما یک سری اطلاعات داریم:
1. لیستی از charCode های مجاز
2. یک یا چند تکستچر که کاراکتر ها به صورت گرافیکی توشن و هر کاراکتر سایز مشخصی داره
3. لیستی از مختصات چهار ظلعی هایی که هر CharCode رو وصل میکنن به یک کارکتر توی یک تکستچر خاص
و این قضیه رو پیچیده میکنه چون مثلاً توی فونت انگلیسی فقط نماد های انگلیسی هستن و اگه فارسی بنویسیم کاراکتر های چرتو پرت مینویسه بازی!
همچنین چالش بعدی اینه که این بازی LTR هستش و وقتی حتی از فونت عربی استفاده میکنیم و مینویسم "سلام"، اون رو به از چپ به راست توی صفحه میچینه: "مالس"! و بلههههه، نمینویسه "مالس(سر هم نی)"، به صورت جدا جدا مینویسه چون برای اتصال دو تا کاراکتر باید از دو تا charCode خاص استفاده کنیم که کارکاکتر اول مثلاً باید "ﺳ" باشه و دوم "ﻞ" تا تازه "ﻞﺳ" به دست بیاد! البته اینو با معکوس کردن میشه حل کرد(ﺳﻞ).
ولی خب، اینجا این زبان، عربی هست، و گچ پژ هم نداره!
👀راهکار
چیزی که خودم بهش فکر میکنم اینه که یک مبدل ttf به font بسازم، یعنی اول ttf بعد jpg که کاراکتر ها به صورت گرافیکی توشن، بعد از jpg به d3dtx، بعدش مختصات و CharCode هر کارکتر رو به fnt تبدیل کنم، و fnt رو با d3dtx نهایی ترکیب کنم و بدم به TTG تا فونت رو بسازه.(فرمت Fnt اینجا فرمتیه که ابزار TTG از font میخونه و خروجی میده، شامل مختصات هست) بد ترین قسمتش اینه که اگه TTG نتونست، من خودم باید ترکیب نهایی رو با Parse کردن MSV6 انجام بدم، البته کتابخانه داره ولی مستند نشده.
در نهایت font رو جایگزین فونت های عربی یا انگلیسی قبلی کنم. گفتنش آسوننهههه😬
🤚🏻اما قبلش...
قبل از اینکه بخوام راهکار رو عملی کنم، اول اینکه معلوم نیست بتونم یا نه، ولی سعیم رو میکنم چون به نظر باحال میاد. دوم اینکه قبلش بهتره یک d3dtx بسازم که رنگش قرمز باشه کامل و بر پایه اون، یک font بسازم با مختصات junk و ذخیره کنم، و بعدش توی بازی باید مربع یا مستطیل های قرمز ببینم تا مطمئن شم درسته...
——————————————
در کل اگه کسی دوست داشت توی این مسیر کمک کنه یا همکاری کنه بگه.
بله دوستان، همین متن هایی که میخونیم خودش یک دنیا پشتشونه، از Encoding ها گرفته تا گرافیک و...!
#بازی #تجربه | 1 |
| 18 | مجبور بودم این بخش رو از پیامی که توی CS12 فرستادم حذف کنم تا جنبه سیاسی نگیره گروه... | 179 |
| 19 | بازی The Walking Dead: A New Frontier (Telltale 🎮 engine)
یک بار همینطوری زد به سرم یک بازی اندروید رو بومی کنم(برای فان) و از بخت بدم بعد از سرچ کردن با این بازی رو به رو شدم و دو سه روزی هست دارم روش کار میکنم و با چالش هایی رو به رو شدم که هر جور حساب میکنم ارزش وقت گذاشتن نداره ولی خو سعی میکنم انجام بشه. موتور بازی سازی مورد استفاده ازش منسوخ شده البته.
🤔تا اینجا چی داریم؟
بعد سرچ کردن توی اینترنت و قطعاً کمک گرفتن از AI یک سری ابزار خوب برای کار کردن روی بازی های Telltale پیدا کردم که خوشبختانه اکثراً با C# نوشته شدن.
مثلاً TTG و Telltale Texture ولی یک ابزار پیشرفته تر و سطح پایین تر هم به اسم Telltale Inspector بود که درک خوبی بهم داد نسبت به فایل های بازی.
به صورت کلی بخوام بگم:
1. این موتور از lua برای کد های بازی استفاده میکنه(کاری بهش نداریم چون تا اینجا که واقعاً به کارم نیومده)
2. این موتور بازی سازی برای مدیریت زبان ها از landb یا langdb استفاده میکنه که شامل رشته های مورد استفاده توی بازی هستن برای یک زبان خاص(توی این بازی landb)
3. ابزار TTG خیلی خوبه ولی یک سری ایرادات داره که یا فرایند کار خیلی کند میشه یا اصلاً قابل انجام نیست؛ برای همین یک بخش هایی ازش رو برای افزایش سرعت مجبور شدم تغییر بدم
4. منابع(فایل هایی که شامل متن، تکستچر و... هستن) از فرمتی به اسمه MSV6 استفاده میکنن، این فرمت در واقع یک فرمت کلی هستش که برای ذخیره و سریالیزه کردن انواع داده ها و فایل ها استفاده میشه؛ در سطح پایین به این ها میگیم Meta Stream
😵💫چالش اصلی
از اونجایی که هدف اصلی من ترجمه و بومی سازی بازیه، باید بتونم متن هارو فارسی کنم دیگه، تازه متن هارم پیدا کردم و فرمتشون هم میدونم چیه و چطوریه داستانش ولی خو...
این بازی از فونت هایی با فرمت .font استفاده میکنه که جزئی از منابع بازی محسوب میشه؛ یعنی MSV6 هست و فرمت رایجی نیست. توی این فرمت ما یک سری اطلاعات داریم:
1. لیستی از charCode های مجاز
2. یک یا چند تکستچر که کاراکتر ها به صورت گرافیکی توشن و هر کاراکتر سایز مشخصی داره
3. لیستی از مختصات چهار ظلعی هایی که هر CharCode رو وصل میکنن به یک کارکتر توی یک تکستچر خاص
و این قضیه رو پیچیده میکنه چون مثلاً توی فونت انگلیسی فقط نماد های انگلیسی هستن و اگه فارسی بنویسیم کاراکتر های چرتو پرت مینویسه بازی!
همچنین چالش بعدی اینه که این بازی LTR هستش و وقتی حتی از فونت عربی استفاده میکنیم(طبق معمول هیچ جای دنیا به خاطر ریدمان و حماقت اونایی که هممون میدونیم کین، آدم حسابمون نمیکنن و فونت فارسی نداره) و مینویسم "سلام"، اون رو به از چپ به راست توی صفحه میچینه: "مالس"! و بلههههه، نمینویسه "مالس(سر هم نی)"، به صورت جدا جدا مینویسه چون برای اتصال دو تا کاراکتر باید از دو تا charCode خاص استفاده کنیم که کارکاکتر اول مثلاً باید "ﺳ" باشه و دوم "ﻞ" تا تازه "ﻞﺳ" به دست بیاد! البته اینو با معکوس کردن میشه حل کرد(ﺳﻞ).
ولی خب، اینجا این زبان، عربی هست، و گچ پژ هم نداره!
👀راهکار
چیزی که خودم بهش فکر میکنم اینه که یک مبدل ttf به font بسازم، یعنی اول ttf بعد jpg که کاراکتر ها به صورت گرافیکی توشن، بعد از jpg به d3dtx، بعدش مختصات و CharCode هر کارکتر رو به fnt تبدیل کنم، و fnt رو با d3dtx نهایی ترکیب کنم و بدم به TTG تا فونت رو بسازه.(فرمت Fnt اینجا فرمتیه که ابزار TTG از font میخونه و خروجی میده، شامل مختصات هست) بد ترین قسمتش اینه که اگه TTG نتونست، من خودم باید ترکیب نهایی رو با Parse کردن MSV6 انجام بدم، البته کتابخانه داره ولی مستند نشده.
در نهایت font رو جایگزین فونت های عربی یا انگلیسی قبلی کنم. گفتنش آسوننهههه😬
🤚🏻اما قبلش...
قبل از اینکه بخوام راهکار رو عملی کنم، اول اینکه معلوم نیست بتونم یا نه، ولی سعیم رو میکنم چون به نظر باحال میاد. دوم اینکه قبلش بهتره یک d3dtx بسازم که رنگش قرمز باشه کامل و بر پایه اون، یک font بسازم با مختصات junk و ذخیره کنم، و بعدش توی بازی باید مربع یا مستطیل های قرمز ببینم تا مطمئن شم درسته...
——————————————
در کل اگه کسی دوست داشت توی این مسیر کمک کنه یا همکاری کنه بگه.
بله دوستان، همین متن هایی که میخونیم خودش یک دنیا پشتشونه، از Encoding ها گرفته تا گرافیک و...!
#بازی #تجربه | 164 |
| 20 | دارم روی ترجمه بازی های اندروید کار میکنم، صرفاً برای فان(جدا از بقیه کاربی که دارم)، تجربیاتم رو باهاتون به اشتراک میزارم، اینجا نه ولی یک کانال دیگه میزنم هم بازیارو میزارم هم روشی که تونستم ترجمه کنم | 141 |
