|
16.09.2007, 22:00
|
#1
|
Нуждающийся
Регистрация: 20.08.2007
Сообщений: 93
Написано 0 полезных сообщений (для 0 пользователей)
|
C++ to Макс
Есть такой вот кусок кода на С++ по созданию луа-библиотеки из набора функций.
luaL_Reg _gamelib[] = {
{"new", le_game_new},
{"quit", le_game_quit},
{"trigger", le_game_trigger},
{"quest", le_game_quest},
{"setmod", le_game_setmod},
{"pause", le_game_pause},
{"addwall", le_game_addwall},
{"speed", le_game_speed},
{NULL, NULL}};
Не подскажете ли, как перевести его на Макс? Все мои попытки оказались тщетными... ):
Заранее спасибо.
|
(Offline)
|
|
16.09.2007, 22:07
|
#2
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Re: C++ to Макс
не знаю, но может так...
Local _gamelib:luaL_Reg[] = [["new", le_game_new], ... ]
|
(Offline)
|
|
16.09.2007, 22:11
|
#3
|
Нуждающийся
Регистрация: 20.08.2007
Сообщений: 93
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: C++ to Макс
Забыл уточнить. Сам тип описан как:
extern
type lua_Reg
field name:byte ptr ' no ~0 expected
field func:int(ls:byte ptr)
end type
end extern
dimanche13
Это было первое, что я попробовал. У меня не заработало...
P.S. Харе уже отвечать типа "Может так, но я сам не знаю". Меньше флейма - больше инфы! (:
|
(Offline)
|
|
16.09.2007, 22:35
|
#4
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Re: C++ to Макс
Сообщение от elmortem
P.S. Харе уже отвечать типа "Может так, но я сам не знаю". Меньше флейма - больше инфы! (:
|
Харе орать-то) Что мне в голову пришло, я и написал. Проверить-то негде
function luaL_register (lua_state:byte ptr, libname$z, l:lua_Reg ptr)
|
(Offline)
|
|
16.09.2007, 22:40
|
#5
|
Нуждающийся
Регистрация: 20.08.2007
Сообщений: 93
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: C++ to Макс
Да я ж не ору, прошу. (:
А-то поиском потом столько хрени найти можно... (:
А функция, которую ты привёл как раз и принимает уже готовый массив. Но его сначала нужно создать и заполнить. Но у меня прога валится на доступе к нулевому элементу массива и показыват, что все элементы массива - нули. чзх? ):
|
(Offline)
|
|
17.09.2007, 02:15
|
#6
|
Нуждающийся
Регистрация: 20.08.2007
Сообщений: 93
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: C++ to Макс
Плюнул на эту неблагодарную затею и портировал функцию регистрации своей луа-библиотеки на Макс. Так что скрипты пашут теперь в полную силу...
Типа тема закрыта. (:
|
(Offline)
|
|
17.09.2007, 12:00
|
#7
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Re: C++ to Макс
Погоди плевать-то))) смотри:
Type TA
Field name:String
Field num:Int
End Type
Function Create:TA(name:String , num:Int)
Local T:TA = New TA
T.name = name
T.num = num
Return T
End Function
Local array:TA[] = [ Create("A" , 1) , Create("B" , 2)]
во как я исхитрился.
|
(Offline)
|
|
17.09.2007, 12:34
|
#8
|
Нуждающийся
Регистрация: 20.08.2007
Сообщений: 93
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: C++ to Макс
Там фишка в екстерне. Т.е. для екстерновых типов нужно писать свои new и delete. На С++. (:
А потом ещё лезут всякие косяки с памятью.
Мне стало проще написать свой класс CLuaReg, пихать его в TList, а затем отдавать в свою функцию регистрации луа-библиотеки, полностью портированную на Макс из исходников Lua.
Так что пофиг, всё работает. (:
|
(Offline)
|
|
17.09.2007, 12:38
|
#9
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Re: C++ to Макс
Ну ты хитёр))) ты уже наверное половину ЛУА функций переделал...
стало быть тема закрыта. Когда будет новая версия?
|
(Offline)
|
|
18.09.2007, 23:34
|
#10
|
Нуждающийся
Регистрация: 20.08.2007
Сообщений: 93
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: C++ to Макс
Да нет, пока вроде только одну функцию "экстернул" и одну портировал. (:
Луа вообще мне идеологически не нравится. Этот его долбаный стек - бррр... Быстро, конечно, но чертовски неудобно. ):
Завтра релиз моей шароварки, после релиза будет много работы. Так что с новой версий х3 когда теперь...
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:10.
|