crypt of decay - Post a comment [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

опизденеть Nov. 16th, 2018|08:36 pm

ketmar
целый день она ебалась, но, блядь, хуев баг нашла.

уж не знаю, ранди ли это жопорукий, или янис протупил, но в ACS VM был МЕГАБАГ. в вызовах внутренних acs-функций return не восстанавливало указатель на локалы из сохранённого значения, а тупо ставило его на «вершина стека минус количество аргументов минус количество локалов». и всё было заебись до тех пор, пока на стеке было чисто. но там не всегда чисто, там могут лежать временные значения!

ну, типа вот: `func0()+func1()*locvar`. при таком раскладе возврат `func0` временно шароёбится на стеке, и после вызова `func1` указатель на наши локалы съехал. и `locvar` берёт по кривому указателю полную поебень. к сегфолту это не приводит, но результат всё равно плачевен.

(ну да, это зависит от кодогена; неважно, вы уловили суть, я думаю)


на скриншоте — наконец-то рабочий «hpbar-v16.pk3». уффф.
Link Read Comments

Reply:
From:
(will be screened)
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message: