Jump to content
Korean Random

Mixaill

XVM Team XVM Team
  • Posts

    1,722
  • Joined

  • Last visited

  • Days Won

    156

Posts posted by Mixaill

  1. 56 минут назад, Polyacov_Yury сказал:

    @ribbed, я уже 10 дней не могу ответить человеку в комментах :) Может, что-то сделаете, или у всех хвосты горят от теста настолько, что на портал внимание обратить не получается ну никак?)

    Скорее что-то личное, адблок есть?

  2. 4 часа назад, GPCracker сказал:

    Или Scaleform так круто оптимизирован

    Отрисовка через D3D/OpenGL/Vulkan - одно из основных заявленных преимуществ Scaleform.

     

    В том же RenderDoc отлично видны плоскости под каждый Flash-элемент

    image.thumb.png.b176138bc789b63ad78d41a70c2f81d4.png

    • Upvote 1
  3. 5 часов назад, SkepticalFox сказал:

    ну вот сразу бы сказал, что про колижн

    сейчас скрипт накидаю

    получает hkx файлы из havok файла

    
    from collections import OrderedDict
    from struct import unpack
    from io import BytesIO, SEEK_SET, SEEK_CUR, SEEK_END
    
    
    
    def subHavok_load(data, parent_sec_name):
    	packedGroups = OrderedDict()
    	data = BytesIO(data)
    	ENTRY_DATA_MASK = ~(1<<31)
    	data.seek(-4, SEEK_END)
    	endEntriesInfo = data.tell()
    	startEntriesInfoOffset = unpack('<I', data.read(4))[0]
    	data.seek(-4-startEntriesInfoOffset, SEEK_END)
    	position = 4
    	while data.tell() < endEntriesInfo:
    		entryDataLen, _, nameLen = unpack('<I16sI', data.read(24))
    		dataName = data.read(nameLen).decode('ascii')
    		packedGroups[dataName] = {
    			'length': entryDataLen,
    			'position': position
    		}
    		position += (entryDataLen + 3) & (~3)
    		data.seek(((nameLen+3) & ~3)-nameLen, SEEK_CUR)
    	for sec_name, info in packedGroups.items():
    		data.seek(info['position'])
    		with open('%s_%s.hkx' % (parent_sec_name, sec_name), 'wb') as f:
    			f.write(data.read(info['length']))
    
    
    
    def havok_load(data):
    	packedGroups = OrderedDict()
    	data = BytesIO(data)
    	ENTRY_DATA_MASK = ~(1<<31)
    	data.seek(-4, SEEK_END)
    	endEntriesInfo = data.tell()
    	startEntriesInfoOffset = unpack('<I', data.read(4))[0]
    	data.seek(-4-startEntriesInfoOffset, SEEK_END)
    	position = 4
    	while data.tell() < endEntriesInfo:
    		entryDataLen, _, nameLen = unpack('<I16sI', data.read(24))
    		dataName = data.read(nameLen).decode('ascii')
    		packedGroups[dataName] = {
    			'length': entryDataLen,
    			'position': position
    		}
    		position += (entryDataLen + 3) & (~3)
    		data.seek(((nameLen+3) & ~3)-nameLen, SEEK_CUR)
    	for sec_name, info in packedGroups.items():
    		data.seek(info['position'])
    		subHavok_load(data.read(info['length']), sec_name)
    
    
    
    with open('Background1.havok', 'rb') as f:
    	havok_load(f.read())

     

    для танков надо что-то поновее, версия 1.4 (2012 года) не подойдет

     

    Не удивительно, ведь он собран с 2010.2 Havok Content Tools, а надо с 2014 Havok Content Tools

    Есть еще это https://github.com/Highflex/havok2fbx/ и это https://github.com/Dexesttp/hkxpack

    Но оно тоже требует доработки

    @Mixaill, поможете?

    Отсюда не работает?

    https://drive.google.com/drive/folders/0B8SgSQGjqypSS3JoZWRDaEVacVE

  4. 15 минут назад, SkepticalFox сказал:

    @kilimanjaro было бы интересно узнать значение D3D в названии настройки.

    Это легаси.

     

    Сначала наверное был выбор между 9 и 11, потом появился OpenGL, но схему менять не стали.

    Вот теперь все флаги для API начинаются с API_D3D_

  5. Клиент и так отлично грузит библиотеки по imp.load_dynamic

     

    В случае с xfw.native заработает работа с внешними библиотеками через ctypes. То есть можно будет делать так

     

    import ctypes
    ctypes.windll.user32.MessageBoxA(0, "Text", "Text", 0)

    image.thumb.png.d0a497ee76efa40c27a4d50b9e14e7d3.png

    
     
    • Upvote 1
  6. 5 часов назад, SkepticalFox сказал:

    Нужно будет попробовать ctypes из XFW...

    Если что-то работает некорректно - то сразу пиши.

    Вообще, весь XFW не нужен, достаточно только com.modxvm.xfw.native_blabla.wotmod

    https://bitbucket.org/XVM/xfw.native/downloads/

    • Upvote 1
  7. 1. Ставим XVM b8181

    2. Включаем в конфиге sounds/remote_communication

    3. Запускаем игру

     

    4. Запускаем Authoring Tools 2017.1.1

    5. Открываем ВГшный проект 

     

    6. Project -> Remote Connections -> OK

    7. Layouts -> Profile Layout

     

    Всё, дальше ознакамливаемся с документацией:

     

    https://www.audiokinetic.com/library/2017.1.1_6340/?source=Help&id=profiling

    https://www.audiokinetic.com/library/2017.1.1_6340/?source=Help&id=game_profiler

     

     

    • Upvote 2
  8. 4 часа назад, spoter сказал:

    > обновлялка, которая не зависит от версии клиента

    > всегда стартует.

    Это взаимоисключающие параграфы. Если обновлялка не является обособленным от клиента фоновым процессом, то нельзя утверждать, что она будет всегда стартовать.

    • Upvote 1
  9. 4 часа назад, Finister сказал:

    что QA ничего не делает и бесполезны

    Делают - не делают, но к их компетенции иногда возникают вопросы.

    3 часа назад, Polyacov_Yury сказал:

    Касаемо XVM и того факта, что его катает половина аудитории - так сделайте же вы уже подгрузку флеш-компонентов из своей отдельной флешки-копии battle.swf (можно сделать банальным оверрайдом нескольких getPackageLayout'ов в gui) и запускайте этот самый оверрайд только если версия актуальна. Ну и автообновление прикрутите. Ну серьезно, парни, я на конфиге к вашему моду программировать учился, и за столько времени уже можно было сделать нормально! Тогда и версию клиента менять не потребуется, внезапно. Или в команде XVM работают люди, которые имеют больший авторитет и меньший опыт мододелания, чем чертов отдел разработки? Или я один читал и восхищался пакету bootcamp? Сделать по аналогии (оверрайдим, только когда надо и можно и возвращаем все как было в противном случае) руки не поднимаются?

    Не совсем понятна твоя идея. Точнее идея понятна, не совсем понятно почему она должна сработать и в чем профит.

    Ты исходишь из предположения, что версия микропатча инкрементируется только из-за флешек и только из-за XVM, что не является верным (см. хеллоуин 2017).

    Делать какой-то автоапдейт, который может сработать, а может не сработать - как-то невесело.

     

  10. 1 час назад, ribbed сказал:

    Я не про основной язык (его мы и с юзерских настроек на основном танковом портале можем цепануть), а что конкретно этот поляк кроме польского знает английский и русский?

    заголовок Accept-Language может содержать несколько локалей, в том числе, с весовыми коэффициентами.

    например, у меня это be, en-US, en ( http://www.reliply.org/tools/requestheaders.php )

×
×
  • Create New...