![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как облегчить игру? [Windows]
Bogdan1024 © (2006-01-31 07:58:00)Есть игра, которая уже полностью написанная на Дэлфи7+ДэлфиХ. Как можно её облегчить? Я имею ввиду именно сам эхэ-шник.
XProger (2006-02-10 00:03:00) [21]rts111, Аналогично, только не удалять _InitLib (но подчистить можно :)
unit SysInit;
interface
procedure _InitExe;
procedure _halt0;
procedure _InitLib(Context: PInitContext);
var
ModuleIsLib : Boolean;
TlsIndex : integer = -1;
TlsLast : Byte;
const
PtrToNil: pointer = nil;
implementation
procedure _InitLib(Context: PInitContext);
asm
LEAVE
RET 12
end;
procedure _InitExe;
asm
end;
procedure _halt0;
asm
end;
end.
unit System;
interface
procedure _HandleFinally;
type
TGUID = record
D1: LongWord;
D2: Word;
D3: Word;
D4: array [0..7] of Byte;
end;
PInitContext = ^TInitContext;
TInitContext = record
OuterContext : PInitContext;
ExcFrame : pointer;
InitTable : pointer;
InitCount : integer;
Module : pointer;
DLLSaveEBP : pointer;
DLLSaveEBX : pointer;
DLLSaveESI : pointer;
DLLSaveEDI : pointer;
ExitProcessTLS : procedure;
DLLInitState : Byte;
end;
implementation
procedure _HandleFinally;
asm
end;
end.
rts111 (2006-02-09 23:34:00) [22]Вопрос к XProger-у , а как облегчить dll, может знаешь?
Спасибо зарание!
XProger (2006-02-09 22:24:00) [23]http://xproger.mirgames.ru/tmp/Form1.rar- очередная безделушка... ;)
antonn (2006-02-08 12:44:00) [24]XProger © (08.02.06 11:54) [70]
antonn, я уже давно убедился в ущербности твоего мышления...
не обманывайся.
Don Nikola (2006-02-08 12:40:00) [25]Если попытки запихать delphi'евый екзешник в com это и в самом извращение, то написание небольших утилит, шаравар и прочего небольшого софта на WinApi это весьма разумная практика. А вот делать тетрис/калькулятор на монструозных VCL/DelphiX/etc это уже верх маразма.
И высказывания, что у всех сейчас винты по 250Gb и памяти по 1Gb я считаю некорректными. Если вы делаете что-то, что будет качаться через инет, особенно когда код занимает больше данных, то тут серьезно нужно думать о том как написана программа.
XProger (2006-02-08 11:54:00) [26]-SEV-, "Какой извращенец будет писать проги в делфе, учитывая все капризы памяти и прочего оборудования" - Я! :)
Мне нравится понимать как оно работает и откуда берётся каждый байт, также мне нравится полностью контролировать свою программу и "самому" её писать.
antonn, я уже давно убедился в ущербности твоего мышления...
Cash (2006-02-08 11:16:00) [27]antonn © (08.02.06 05:40) [68]:
Не фанатизм, коллега, а экстримизм (в некоторых случаях
сопряженный с терроризмом)! :)))
antonn (2006-02-08 05:40:00) [28]-SEV- © (08.02.06 1:22) [67]
Я что-то тоже не могу пропереть, нафиг экзешники жать. "
это фанатизм, что то вроде синдрома "пенисо-мера" :)
-SEV- (2006-02-08 01:22:00) [29]Я что-то тоже не могу пропереть, нафиг экзешники жать. "Вот прога, написаная на Делфе, весит 500 б !!! Всё! Правда делать она ничего не умеет, да и вряд ли будет уметь, ибо проще перейти на ассемблер, чем работать в Делфе, ограниченной во всех своих фишках". Зачем вырезать из делфы ВСЁ ради того, чтобы экзешник весил 500 байт и ничего не умел? Какой извращенец будет писать проги в делфе, учитывая все капризы памяти и прочего оборудования, когда можно заплатить 20 кб (всл не трогать) и писать в более-менее терпимых условиях? Прошли времена ДОСек, когда за каждый занятый байт можно было вены порезать. По-моему на винтах по 100 гигов найдётся местечко и для 500 кб...
Don Nikola (2006-02-08 00:12:00) [30]Глючный форум...
Don Nikola (2006-02-08 00:10:00) [31]2Bogdan1024:
NArc от DelphiX отличается также как MSDOS от XP.
Эта библиотека была написано под свои собственные нужды и изначально не планировалось выкладывать ее на всеобщее обозрение и уж тем более писать доки к ней. Она была выложена как пример библиотеки для хранения игровых ресурсов для одной из тем на gamedev.ru
Если бы я выложил ее как законченный продукт, то конечно добавил бы и доки и примеры.
Прощу прощения что несколько агрессивно сформулировал предложение про асм.
Don Nikola (2006-02-08 00:09:00) [32]2Bogdan1024:
NArc от DelphiX отличается также как MSDOS от XP.
Эта библиотека была написано под свои собственные нужды и изначально не планировалось выкладывать ее на всеобщее обозрение и уж тем более писать доки к ней. Она была выложена как пример библиотеки для хранения игровых ресурсов для одной из тем на gamedev.ru
Если бы я выложил ее как законченный продукт, то конечно добавил бы и доки и примеры.
Прощу прощения что несколько агрессивно сформулировал предложение про асм.
Bogdan1024 (2006-02-07 21:30:00) [33]Ту Don Nikola
Вообще-то, там папочка была, Examples называлась.
Я давно это заметил.
Использование проще некуда...
Вот так бы сразу. Неужели тяжело это вставить в коментах в примеры? Щас поюзаю...
Если честно, то стоит пять минут почитать то что между interface и implementation, то практически все вопросы должны отпасть, а после чтения от implementation до end и все остальные тоже. Там все весьма просто.
А если прочитать от начала до конца всё что написано в юнитах компонентов DelphiX, то все вопросы тоже должны отпасть :))) Но DelphiX на то и гуд что программисту не обязательно иметь ответы на все вопросы чтобы его юзать.
А в ассемблер вообще нет смысла соваться, если ты его не знаешь, главное что оно работает. Это не наезд, а просто совет.
А я дурак, не знал ассемблер, но всё равно сунулся :))) Как можно в него сунуться не зная его?
Я не понимаю почему ты так усердно защищаешь свою точку зрения по которой у твоих компонентов не должно быть документации.
Don Nikola (2006-02-07 20:46:00) [34]2Borgad1024:
Вообще-то, там папочка была, Examples называлась.
Использование проще некуда.
Подготовка:
1) Кладешь все нужные файлы в папку Utils\Packer\Data
2) Запускаешь Utils\Packer\NPacker.exe
3) Полученый файл Data.dat, который можно переименовать, кладешь со своей программой
Использование:
1) Подключаешь юнит NArc.pas
2) Загружаешь заголовок архива функцией OpenArchive
3) Загружаешь нужные файлы из архива функцией LoadFile, которая возвращает указатель на область данных
4) Когда данные больше не нужны вызываешь FreeMem
5) Когда архив больше не нужен вызываешь CloseArchive
Если честно, то стоит пять минут почитать то что между interface и implementation, то практически все вопросы должны отпасть, а после чтения от implementation до end и все остальные тоже. Там все весьма просто.
А в ассемблер вообще нет смысла соваться, если ты его не знаешь, главное что оно работает. Это не наезд, а просто совет.
Bogdan1024 (2006-02-07 19:09:00) [35]К Cash: Так так и говори что здорово было бы своим методом архивировать, а то инсталщилд-инсталщилд...
К Don Nikola: скачал. А где документация? Непонятно ничего :) Блин, проще своё что-нить придумать чем в твоём копаться, тем более что там половина вообще на ассемблере (который я не шарю). Хоть бы коменты написал.
Don Nikola (2006-02-07 16:39:00) [36]2Cash:
Ясно. Радует что кто-то сам что-то пишет, а не берет готовые решения.
Однако, такой пакер хорош для распространения инсталяхи, для real-time извлечения он не годиться. Для больших игр такой метод не очень подходит, а для шаравар или не критичных по времени программ вполне подойдет.
Cash (2006-02-07 14:35:00) [37]Don Nikola (07.02.06 13:00) [58]:
Время и энтропию сам посчитай, там все каноническое.
Дважды адаптивный Хаффман и LZW метод. (с моей реализацией)
Все над словарем (или окном) в 32 штуки (тысячи) элементов.
Сжимает и достает дольше чем RAR, но быстрее чем 7-Zip.
А если с InstallShield вместе, то игруха ваще нискока не весит
в сравнении с ее распакованным состоянием. Против 10 мегов
всевозможной лабуды (звуки, графика, три-четыре бинарника)
говорит один инсталлер размером всего в 2,5 мега.
Следует учесть, что рар сам с собой соперничеет, иногда из под него
вылезают архивы разных размеров, полученные от одних и тех же файлов.
Don Nikola (2006-02-07 13:00:00) [38]2Cash:
>Давай я тебе дам мой архив, в котором используется моя методика сжатия
>в два раза лучше сжимающая чем RAR.
А можно поконкретнее? Хочешь сказать что твой пакер способен сжимать любой блок данных лучше чем rar в два раза? Если так, то было бы интересно узнать используемый метод(хотя бы название, если используется общеизвестный метод), необходимые ресурсы на сжатие/расжатие и время для этого необходимое.
Cash (2006-02-07 11:59:00) [39]Увидел в своем посте опечатку, оборжался просто! :)))
Хотел сказать "Расжать", а что получилось то! :)))
Cash (2006-02-07 11:53:00) [40]Bogdan1024 © (07.02.06 11:38) [55]:
Да голый архив легче! Это правда! Давай я тебе дам мой архив,
в котором используется моя методика сжатия в два раза лучше
сжимающая чем RAR. Я просто дам тебе файл с расширением *.ddw.
Что ты сним сможешь сделать? Ражать не сможешь, у тебя нет моей
программы. Сможешь только выделить этот файлик, потом Del нажать,
а затем Enter. Это будет самое рациональное, что ты сделаешь с
моим архивом. Ну дак как? все еще думаешь, что архивы лучше
инсталлеров?
InstallShield в его полном исполнении сжимает файлы сжатые любым
архиватором создавая общий процент сжатия до 10 и выше раз лучше
чем 7-Zip. Так же можно применить спец опцию крутого обжатия, и
не архивированный дистрибутив будет весить меньше чем архив RAR.