Пятница, 26 Апреля 2024, 20:48

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » Quad69 [536]
Результаты поиска
Quad69Дата: Воскресенье, 17 Июня 2018, 21:00 | Сообщение # 41 | Тема: Посчитать хеш
заслуженный участник
Сейчас нет на сайте
Теперь считает правильно, но все ровно md5_file почему то быстрее...
p.s md5 2 секунды, adler32 4 секунды.
Quad69Дата: Воскресенье, 17 Июня 2018, 20:36 | Сообщение # 42 | Тема: Посчитать хеш
заслуженный участник
Сейчас нет на сайте
Как это можно сделать?

Нашел какой то кусок кода, переписал немного, но считает теперь не правильно.
Код
DLLEXPORT double adler32_file(char* filename)
{
    FILE * ptrFile = fopen(filename, "rb");

    if (ptrFile == NULL) return(-1);

    fseek(ptrFile, 0, SEEK_END);
    long lSize = ftell(ptrFile);
    rewind(ptrFile);

    char * buffer = (char*)malloc(sizeof(char) * lSize);
    if (buffer == NULL) return(-2);

    size_t result = fread(buffer, 1, lSize, ptrFile);
    if (result != lSize) return(-3);

    puts(buffer);

    int buffSize = strlen(buffer);
    unsigned long s1 = 1;
    unsigned long s2 = 0;

    for (int i = 0; i <= buffSize; i++) {
        s1 = (s1 + buffer[i]) % 65521;
        s2 = (s2 + s1) % 65521;
    }

    fclose(ptrFile);
    free(buffer);
    return (s2 << 16) + s1;
}


Сообщение отредактировал maksim1221232 - Воскресенье, 17 Июня 2018, 20:36
Quad69Дата: Воскресенье, 17 Июня 2018, 19:53 | Сообщение # 43 | Тема: Посчитать хеш
заслуженный участник
Сейчас нет на сайте
Пишу DLL'ку для Game Maker Studio 2 которая будет считать хеш файла Adler32.
Саму функцию написал правильно, всё работает, но скорость просто ужасная.

Для сравнения есть файл 350мб:
md5_file который есть в gms считает за ~2 секунды, функция которую написал я считает это больше 20 секунд.

С C++ знаком очень плохо, поэтому прошу помощи, проверьте где и что не так.

Код
#include "stdafx.h"
#include "MHash.h"
#include <stdio.h>

#define DLLEXPORT extern "C" __declspec(dllexport)

DLLEXPORT double adler32_file(char* filename)
{
    FILE *fid = fopen(filename, "rb");
    if (fid == NULL) return(0);

    unsigned char c;

    unsigned long s1 = 1;
    unsigned long s2 = 0;

    while(true) {
        c = fgetc(fid);

        if (feof(fid)) break;

        s1 = (s1 + c) % 65521;
        s2 = (s2 + s1) % 65521;
    }

    return (s2 << 16) + s1;
}


Сообщение отредактировал maksim1221232 - Среда, 27 Июня 2018, 01:21
Quad69Дата: Пятница, 01 Июня 2018, 02:46 | Сообщение # 44 | Тема: Ведение и отображение лога.
заслуженный участник
Сейчас нет на сайте
Цитата nekroo98 ()
а каким образом в переменную добавлять текст построчно?

Код
text += "какой то текст" + "\n";
// "\n" - Переход на новую строку. В гм8 используй #
Quad69Дата: Четверг, 31 Мая 2018, 19:30 | Сообщение # 45 | Тема: Ведение и отображение лога.
заслуженный участник
Сейчас нет на сайте
Записывай инфу в файл и в какой нибуть, например, ds_list.
Quad69Дата: Вторник, 17 Апреля 2018, 18:32 | Сообщение # 46 | Тема: Проблемы с маской спрайта при взаимодействии с объектами сте
заслуженный участник
Сейчас нет на сайте
Попробуй так:
Код

while(!place_free(x - 1, y) and place_free(x + 1, y)) x++;
while(!place_free(x + 1, y) and place_free(x - 1, y)) x--;
while(!place_free(x, y - 1) and place_free(x, y + 1)) y++;
while(!place_free(x, y + 1) and place_free(x, y - 1)) y--;

Добавлено (17 Апреля 2018, 18:32)
---------------------------------------------

Quad69Дата: Суббота, 07 Апреля 2018, 00:59 | Сообщение # 47 | Тема: Побитовые операторы
заслуженный участник
Сейчас нет на сайте
В Java есть такой побитовый оператор >>>= , но в GMS я его не могу найти, как его можно перенести?
Quad69Дата: Пятница, 09 Марта 2018, 22:09 | Сообщение # 48 | Тема: Захват объекта другим объектом
заслуженный участник
Сейчас нет на сайте
Код
//Событие создания
boxID = noone;

//Событие столкновение с ящиком
if(boxID == noone) boxID = other;

//Шаг
if(instance_exists(boxID)){
    boxID.x = x;
    boxID.y = y;
    if(keyboard_check(vk_space)) boxID = noone;
}




Сообщение отредактировал maksim1221232 - Пятница, 09 Марта 2018, 22:13
Quad69Дата: Четверг, 08 Марта 2018, 22:11 | Сообщение # 49 | Тема: Game Maker Studio Русификаторы
заслуженный участник
Сейчас нет на сайте
Добавил русификатор к второй версии
Quad69Дата: Понедельник, 26 Июня 2017, 23:52 | Сообщение # 50 | Тема: Game Maker studio standart, как получить бесплатно ключ
заслуженный участник
Сейчас нет на сайте
Цитата Schwards ()
Странно. Всё сделал правильно, но не работает. Наверное разработчики убрали эту фичу.

Цитата
Дата: Четверг, 19 декабря 2013, 13:07


Да ладно?
Quad69Дата: Вторник, 18 Апреля 2017, 22:17 | Сообщение # 51 | Тема: Проблемы с http_get
заслуженный участник
Сейчас нет на сайте
Здравствуйте.
Немного перехожу на GMS 2, вот столкнулся с тяжелой проблемой.
Делаю авторизацию используя http_get
Отправляю запрос на сервер, в ответ получаю "GOOD" (что значит что все хорошо)
Потом проверяю if(ответ_сервера=="GOOD") {//Комментарий}, но вот проблема в том что до комментария не доходит... (те ответ_сервер который равен "GOOD" не равен "GOOD")

Пробую узнать причину почему так, оказывается вес/размер этих строк не совпадает.
Например ответ сервера символов 5, а слово с которым я сравниваю символов 4.

Кароче http_get добавляет к ответу сервера какие то символы, и из за них у меня ничего не работает.

Кто сталкивался с такой проблемой? Как это исправлять?
Quad69Дата: Среда, 08 Марта 2017, 21:45 | Сообщение # 52 | Тема: Как работать с двух устройств
заслуженный участник
Сейчас нет на сайте
Хранить проект на флешке?
Quad69Дата: Среда, 08 Марта 2017, 18:29 | Сообщение # 53 | Тема: Киньте пример генерации подземелий для рогалика!
заслуженный участник
Сейчас нет на сайте
Dungeon Generator
Quad69Дата: Вторник, 07 Марта 2017, 00:48 | Сообщение # 54 | Тема: Вращение вида
заслуженный участник
Сейчас нет на сайте
Здравствуйте, хочу сделать так что-бы вид принимал такие координаты и угол, что бы нужная точка(игрок) был всегда снизу по центру.
То есть что бы я видел снизу окна игры игрока и выше него сам игровой уровень.
Проблема в том что я не знаю как надо устанавливать координаты вида и сам его угол поворота что бы получился такой эффект, помогите кто знает.
Quad69Дата: Вторник, 21 Февраля 2017, 20:51 | Сообщение # 55 | Тема: Проблемы с текстурными координатами в .obj моделях
заслуженный участник
Сейчас нет на сайте
В obj файлах часто встречаются текстурные координаты которые выходят за пределы 0 и 1, из за этого у меня "размазываются" текстуры по модели и получается не красиво.

Как их перевести в нормальный формат от 0 до 1?
Quad69Дата: Суббота, 31 Декабря 2016, 13:36 | Сообщение # 56 | Тема: Как создать ini-файл непосредственно из GMStudio?
заслуженный участник
Сейчас нет на сайте
Тупо создать пустой ini файл? file_text_close(file_text_open_write('test.ini'))
Quad69Дата: Среда, 14 Декабря 2016, 21:38 | Сообщение # 57 | Тема: Проверка столкновений в 3D
заслуженный участник
Сейчас нет на сайте
Здравствуйте, начал изучать 3d в гм, нужна помощь.
Как проверить столкновение двух кубов?
Quad69Дата: Пятница, 11 Ноября 2016, 17:42 | Сообщение # 58 | Тема: Game Maker Studio Русификаторы
заслуженный участник
Сейчас нет на сайте
Цитата Veliky_Virus ()
интересует в какой среде Вы это переводили? Точнее каким же образом если не секрет?)

Radialix 3

Цитата Veliky_Virus ()
Кстати пишет такую ошибку:

Я проверял на последней стим версии, у себя и у друга, всё работало хорошо.
Quad69Дата: Четверг, 10 Ноября 2016, 15:34 | Сообщение # 59 | Тема: Game Maker Studio Русификаторы
заслуженный участник
Сейчас нет на сайте
Перезалил скрины
Quad69Дата: Четверг, 10 Ноября 2016, 00:08 | Сообщение # 60 | Тема: Game Maker Studio Русификаторы
заслуженный участник
Сейчас нет на сайте
Цитата SINILIAN ()
Скрины не отображаются..

Незнаю, у меня всё нормально :\
Форум игроделов » Записи участника » Quad69 [536]
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг