Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 19.06.2019, 11:24   #1
Haberman
Форумчанин
 
Регистрация: 01.05.2018
Сообщений: 103
Репутация: -10
По умолчанию Разбираю функции сохранения и загрузки исходникa игры с GitHub

есть некоторые неясности, например неясно что это такое:
Цитата:
        

   
   
       
         
    
! ! ! !
" " " " " " " " "
       
       
        
        
        



           
А вот место где это начинают считывать:
Код:
bool LoadNations( SaveBuf* SB )
{
	LoadAllNations( 0 );
	LoadAllNations( 1 );
	LoadAllNations( 2 );
	LoadAllNations( 3 );
	LoadAllNations( 4 );
	LoadAllNations( 5 );
	LoadAllNations( 6 );
	LoadAllNations( 7 );

	int z;
	xBlockRead( SB, &z, 4 );
	if (z != 0x4954414E)
Сиходник
Исходник загрузки-сохранения не очень большой всего 3802 строчки.

0x4954414E это какойто особый адрес?

Последний раз редактировалось Haberman; 19.06.2019 в 11:27.
Haberman вне форума   Ответить с цитированием
Старый 19.06.2019, 11:29   #2
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 18,991
Репутация: 3738

icq: 512-765
skype: alexp.frl
По умолчанию

Цитата:
Сообщение от Haberman Посмотреть сообщение
! ! ! ! " " " " " " " " "
? ? ? ? ' ' ' ' ' ' ' ' '

Цитата:
Сообщение от Haberman Посмотреть сообщение
0x4954414E это какойто особый адрес?
https://github.com/ereb-thanatos/cos...d_q=0x4954414E
Alex11223 на форуме   Ответить с цитированием
Старый 19.06.2019, 11:29   #3
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,887
Репутация: 1915
По умолчанию

Цитата:
Сообщение от Haberman Посмотреть сообщение
0x4954414E это какойто особый адрес?
Это буквы.
Смотрите ascii коды.
Проверка типа if (z != 'ABCD')
Скорее всего проверяется заголовок файла.
waleri вне форума   Ответить с цитированием
Старый 19.06.2019, 13:07   #4
Haberman
Форумчанин
 
Регистрация: 01.05.2018
Сообщений: 103
Репутация: -10
По умолчанию

Что это за трюк?
Код:
   byte* Data = (byte*) data;
Haberman вне форума   Ответить с цитированием
Старый 19.06.2019, 13:09   #5
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 18,991
Репутация: 3738

icq: 512-765
skype: alexp.frl
По умолчанию

Просто Сишный каст (в С++ есть reinterpret_cast и т.п.).
В чем трюк-то?
Alex11223 на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Принципы сохранения и загрузки игры PlutDem Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 19.09.2012 14:26
Реализация сохранения, загрузки игры revaldo666 Общие вопросы C/C++ 1 16.05.2011 11:23
Проблема загрузки/сохранения StingList в файл Dj_SheLL Общие вопросы Delphi 7 26.04.2010 14:46
Процедуры сохранения и загрузки. Deep-Minimal Паскаль 0 12.04.2010 20:40
Ч чём ошибка моего кода сохранения и загрузки? AngelOfDeath Общие вопросы Delphi 3 08.04.2008 13:55


21:01.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.