#126 02-10-2011 12:31

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: Вопрос по памяти

Обьясните, пожалуйста, что это:

mov     ecx, _RwEngineInstance

push    1
fmul    ds:flt_858C7C   ; 1.0f/32767.0f
fmul    ds:flt_858C24   ; 0.3f
fadd    ds:flt_858CB0   ; 0.7
fimul   [esp+0D8h+var_B0]
fmul    ds:flt_859D5C
fstp    [esp+0D8h+var_B0]

call    dword ptr [ecx+20h]

Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#127 03-10-2011 11:10

listener
From: Vice City
Registered: 09-11-2006
Posts: 616
Website

Re: Вопрос по памяти

@DK22Pac - Кусок какого-то кода wink
Кусок слишком мелкий, чтобы сказать, что он делает

_vB0 = ??? / 32767.f * 0.3f + 0.7f * static_cast<float>(_vB0) / 65535.f
RwEngineInstance->RwRenderStateSet (rwRENDERSTATETEXTURERASTER, ????)

??? - то, что отсутствует в этом куске.

PS. Сам-то кусок я нашел, но он противный, нужно разбирать почти всю функцию, чтобы понять, что там делается. Там цикл по массиву структур над которым хорошо поработал оптимизатор и есть куча указателей в середину структур.

Offline

#128 03-10-2011 20:11

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: Вопрос по памяти

Этот код - часть процедуры renderCoronas. Происходит чтение параметров из структур и создаются 2Dprimitives (пока что не совсем понимаю, что это). "Всередине" главного цикла есть ещё два - это создание lens flares (бликов) для корон. Перед этими циклами вызывается [RwEngineInstance+20h]. Иногда с параметрами 1 и 6, а иногда с параметрами rwTexture и 1.
Это RwRenderStateSet? Что делает эта процедура, и зачем она здесь?


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#129 08-10-2011 02:46

Yoda
From: Moscow
Registered: 08-03-2011
Posts: 90

Re: Вопрос по памяти

Господа, такая пара вопросов...
1) кто может подтвердить или опровергнуть тот факт, что во всех вариантах gta_sa.exe по адресу 0xA94B68 находится текстура, загруженная под номером 1 (то, что в IDA базе от Listener называется TXDPool)? Compact от Listener не интересует, ибо там я и сам это могу подтвердить...
2) по моим тестам адрес является статическим... указатель не требуется... опровержения (?) приветствуются...
Проверить совсем просто с помощью, например, ArtMoney... сложнее, но тоже возможно, написав скрипт выводящий на экран 1, если значение по адресу больше 0. Далее зайти в ГринБотлзБар и запустить либо пул, либо один из двух аркадных автоматов...
Спасибо.


Try not. Do or do not, there is no try.

Offline

#130 09-10-2011 00:31

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: Вопрос по памяти

Проверить можно, вызывая drawTexturedRect, где в качестве параметра (this*) передаётся адресс структуры RwTexture (прочитать из 0xA94B68).

Если ты хочешь, чтобы твои текстуры не выгружались, - их лучше добавить в hud.txd и самому загружать/выгружать, когда это нужно.


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#131 09-10-2011 00:47

Yoda
From: Moscow
Registered: 08-03-2011
Posts: 90

Re: Вопрос по памяти

DK22Pac wrote:

Проверить можно, вызывая drawTexturedRect, где в качестве параметра (this*) передаётся адресс структуры RwTexture (прочитать из 0xA94B68).

Если ты хочешь, чтобы твои текстуры не выгружались, - их лучше добавить в hud.txd и самому загружать/выгружать, когда это нужно.

1) На компакт экзе я это и так проверил и знаю. Я спрашивал про другие версии, которых у меня нет.
2) Угу. Вопрос: "когда это нужно". wink


Try not. Do or do not, there is no try.

Offline

#132 09-10-2011 21:25

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: Вопрос по памяти

Загружаешь при загрузке текстур стандартного HUD'а, выгружаешь при вызове CGame::terminate.


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#133 09-10-2011 21:39

Jack Daniel's
Registered: 05-07-2011
Posts: 211

Re: Вопрос по памяти

Jack Daniel's wrote:

По какому адресу находится значение задержки обновления кадров? Я не про fps limiter

Если кому интересно, написал плагин, меняющий стандартное значение задержки (14мс) на 0мс:
http://dl.dropbox.com/u/34394266/Optimiser.asi
Делает игру очень плавной, если итак высокий фпс.

Offline

#134 10-10-2011 07:13

Yoda
From: Moscow
Registered: 08-03-2011
Posts: 90

Re: Вопрос по памяти

Jack Daniel's wrote:
Jack Daniel's wrote:

По какому адресу находится значение задержки обновления кадров? Я не про fps limiter

Если кому интересно, написал плагин, меняющий стандартное значение задержки (14мс) на 0мс:
http://dl.dropbox.com/u/34394266/Optimiser.asi
Делает игру очень плавной, если итак высокий фпс.

С compact.exe от Listener не работает. Игра вылетает при старте.


Try not. Do or do not, there is no try.

Offline

#135 10-10-2011 08:09

Jack Daniel's
Registered: 05-07-2011
Posts: 211

Re: Вопрос по памяти

Потому что оффсеты другие grin Это для us 1.0

Last edited by Jack Daniel's (10-10-2011 08:09)

Offline

#136 10-10-2011 09:12

444andrei444
Registered: 29-03-2011
Posts: 317
Website

Re: Вопрос по памяти

О круто я думаю это решит многие проблемы. Можно мне использовать ее в своем моде?

Offline

#137 10-10-2011 14:33

Jack Daniel's
Registered: 05-07-2011
Posts: 211

Re: Вопрос по памяти

444andrei444 wrote:

Можно мне использовать ее в своем моде?

Угу

Offline

#138 12-10-2011 10:23

Yoda
From: Moscow
Registered: 08-03-2011
Posts: 90

Re: Вопрос по памяти

DK22Pac wrote:

Загружаешь при загрузке текстур стандартного HUD'а

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

Last edited by Yoda (12-10-2011 10:26)


Try not. Do or do not, there is no try.

Offline

#139 12-10-2011 21:41

Shag
Registered: 29-03-2010
Posts: 147
Website

Re: Вопрос по памяти

существует ли возможность добавлять к авто дамми через память? Например, мне нужно добавить фару(которой в оригинальном авто нет), либо бампер. С моделями я сам размерусь, мне нужно узнать только про дамми.


_____----_____


особенно интересует возможность управления дамми бензобака(куда нужно стрелять чтобы тачка взорвалась)(del)

_____----_____

Как управлять дамми - я понял, но как его обьявить? Т.е. если его не существует? Я заметил, что если определенного дамми не существует, координаты его оффсета относительно центра авто пустые(ноль). Если изменять эти оффсеты, то у тех авто, у которых они есть, они будут меняться, а у которых нету - они будут продолжать отсутствовать(например фары или задние сидения)

Last edited by Shag (13-10-2011 16:47)

Offline

#140 14-10-2011 21:20

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: Вопрос по памяти

Можете пожалуйста рассказать, как работают процедуры renderPrimitive?
Пока что я лишь понял, что перед их вызовом вызывается rwRenderStateSet, причём несколько раз. Видимо, эта процедура устанавливает какие-то параметры для рендеринга.
Прошу помочь.


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#141 15-10-2011 15:33

Jack Daniel's
Registered: 05-07-2011
Posts: 211

Re: Вопрос по памяти

При активации joypad'a блокируется управление камерой с помощью мыши, я уже убил час на исследование этого, но как оставить все свойства управления джойпадом и при убрать эту блокировку?

Last edited by Jack Daniel's (15-10-2011 15:33)

Offline

#142 15-10-2011 22:16

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: Вопрос по памяти

Ещё вопрос - Atomic это элемент Clump'а?


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#143 16-10-2011 10:51

listener
From: Vice City
Registered: 09-11-2006
Posts: 616
Website

Re: Вопрос по памяти

@Shag - соответствующий объект должен присутствовать в .dff

@DK22Pac - про renderPrimitive (как и про RwRenderStateSet), лучше всего заглянуть в документацию (там все написано подробно). Аналогично с RpAtomic -> RpClump -> RwFrame

вкратце, clump - это набор atomic-ов

Offline

#144 17-10-2011 13:02

Shag
Registered: 29-03-2010
Posts: 147
Website

Re: Вопрос по памяти

listener, а если отсутствует, то никак нельзя добавить через память?

Вот тут я уже нашел всю инфу про управление дамми и компонентами авто, но можноли добавить дамми, который по-идее должен существовать(например, заднее место для пассажиров). Ведь т.к. к нему не прикреплен компонент, его существование - лишь участво значений в памяти(наличие, оффсет, поворот), а т.к. он существует у остальных авто, то для него уже отведен нужный участок в памяти. Вопрос в том, что я нашел все нужные адреса(оффсет например), но адрес, по которомусуществует значение 0/1 (существует дамми или нет) я не нашел; и, собственно - существует ли оно вообще? Очень надеюсь на помощь!

Last edited by Shag (17-10-2011 13:02)

Offline

#145 17-10-2011 13:25

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Вопрос по памяти

т.к. он существует у остальных авто, то для него уже отведен нужный участок в памяти.

Не уверен, что это так.

Last edited by Den_spb (17-10-2011 13:29)

Offline

#146 17-10-2011 18:37

Shag
Registered: 29-03-2010
Posts: 147
Website

Re: Вопрос по памяти

Den_spb,

+60          ped_backseat    дамми задних сидений

Если по этому оффсету писать значения(оффсета центра в x, y, z), они будут сохраняться. У 4-х дверных авто к примеру дамми передвигаются, у двухдверных - значения просто остаются такими, на какие мы их изменили, т.е. участок памяти есть(для ped_backseat), но заставить игру подумать, что этот дамми существует, я не смог

Я уверен, есть участок памяти, по которому игра определяет, есть ли тот или иной дамми у модели, например, для того чтобы определить, есть ли фара у авто, заднее сидение или же еще одно колесо. Вот этот участок памяти я бы и хотел найти, и надеюсь на вашу помощь!

Last edited by Shag (17-10-2011 18:40)

Offline

#147 17-10-2011 22:39

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Вопрос по памяти

Мы с тобой говорим о разных вещах. Ты - о структуре vehicleStruct, которая относится к модели, а я - об иерархии компонентов, которая относится к одному существующему в игре транспортному средству. Набор смещений в vehicleStruct действительно постоянный. С иерархией конкретного транспортного средства дела обстоят иначе - в ней существуют только те компоненты, которые были в модели (dff-файле) изначально.

Last edited by Den_spb (17-10-2011 22:57)

Offline

#148 18-10-2011 21:31

Shag
Registered: 29-03-2010
Posts: 147
Website

Re: Вопрос по памяти

ок но дело в том, что дамми в игре никак не рендерится, а дает лишь только набор значений(оффсет относительно центра авто например), и теоретически можно заполнить все эти значения вручную(создать эффект загрузки дамми), вот только кроме оффсета я не знаю, какие значения дает дамми.

Last edited by Shag (18-10-2011 21:32)

Offline

#149 18-10-2011 22:20

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: Вопрос по памяти

@Shag
Дамми - это структура RwFrame. И там отнюдь не одни лишь смещения хранятся.

И мне опять нужна помощь. Что делают эти процедуры?
RpClumpForAllAtomics
RwFrameForAllObjects


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#150 18-10-2011 23:02

listener
From: Vice City
Registered: 09-11-2006
Posts: 616
Website

Re: Вопрос по памяти

@DK22Pac - применить функцию для всех атомиков в клампе; применить функцию ко всем объектам фрейма.

Offline

Board footer

Powered by FluxBB