mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-16 17:29:01 +00:00
TITANIC: Adding starfield points loading
This commit is contained in:
parent
46ec1a004b
commit
2ff4d3ed66
devtools/create_titanic
engines/titanic
@ -52,7 +52,7 @@
|
||||
*/
|
||||
|
||||
#define VERSION_NUMBER 1
|
||||
#define HEADER_SIZE 0x640
|
||||
#define HEADER_SIZE 0x680
|
||||
|
||||
Common::File inputFile, outputFile;
|
||||
Common::PEResources res;
|
||||
@ -422,6 +422,18 @@ void writeSentenceMappings(const char *name, uint offset, int numValues) {
|
||||
dataOffset += size;
|
||||
}
|
||||
|
||||
|
||||
void writeStarfieldPoints() {
|
||||
outputFile.seek(dataOffset);
|
||||
|
||||
inputFile.seek(0x59DE4C - FILE_DIFF);
|
||||
uint size = 876 * 12;
|
||||
|
||||
outputFile.write(inputFile, size);
|
||||
writeEntryHeader("STARFIELD/POINTS", dataOffset, size);
|
||||
dataOffset += size;
|
||||
}
|
||||
|
||||
void writeHeader() {
|
||||
// Write out magic string
|
||||
const char *MAGIC_STR = "SVTN";
|
||||
@ -451,6 +463,7 @@ void writeData() {
|
||||
writeResource("STFONT", 153);
|
||||
|
||||
writeResource("STARFIELD", 132);
|
||||
writeStarfieldPoints();
|
||||
|
||||
writeResource("TEXT", "STVOCAB.TXT");
|
||||
writeResource("TEXT", "JRQUOTES.TXT");
|
||||
|
@ -420,13 +420,13 @@ MODULE_OBJS := \
|
||||
star_control/star_control_sub1.o \
|
||||
star_control/star_control_sub2.o \
|
||||
star_control/base_star.o \
|
||||
star_control/star_array.o \
|
||||
star_control/star_control_sub4.o \
|
||||
star_control/star_control_sub5.o \
|
||||
star_control/star_control_sub6.o \
|
||||
star_control/star_control_sub7.o \
|
||||
star_control/star_control_sub8.o \
|
||||
star_control/star_control_sub9.o \
|
||||
star_control/star_control_sub10.o \
|
||||
star_control/star_view.o \
|
||||
star_control/star_control_sub12.o \
|
||||
star_control/star_control_sub13.o \
|
||||
|
24
engines/titanic/star_control/star_control_sub10.cpp → engines/titanic/star_control/star_array.cpp
24
engines/titanic/star_control/star_control_sub10.cpp → engines/titanic/star_control/star_array.cpp
@ -20,9 +20,31 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "titanic/star_control/star_control_sub10.h"
|
||||
#include "titanic/star_control/star_array.h"
|
||||
#include "titanic/titanic.h"
|
||||
|
||||
namespace Titanic {
|
||||
|
||||
#define ARRAY_COUNT 876
|
||||
|
||||
CStarArray::CStarArray() {
|
||||
}
|
||||
|
||||
void CStarArray::initialize() {
|
||||
// Get a reference to the starfield points resource
|
||||
Common::SeekableReadStream *stream = g_vm->_filesManager->getResource("STARFIELD/POINTS");
|
||||
assert(stream && stream->size() == (12 * ARRAY_COUNT));
|
||||
|
||||
_data.resize(ARRAY_COUNT);
|
||||
for (int idx = 0; idx < ARRAY_COUNT; ++idx) {
|
||||
// Get the next set of values
|
||||
int v1 = stream->readUint32LE();
|
||||
int v2 = stream->readUint32LE();
|
||||
stream->readUint32LE();
|
||||
|
||||
// Pre-process them
|
||||
// TODO
|
||||
}
|
||||
}
|
||||
|
||||
} // End of namespace Titanic
|
@ -20,19 +20,30 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef TITANIC_STAR_CONTROL_SUB10_H
|
||||
#define TITANIC_STAR_CONTROL_SUB10_H
|
||||
#ifndef TITANIC_STAR_ARRAY_H
|
||||
#define TITANIC_STAR_ARRAY_H
|
||||
|
||||
#include "common/array.h"
|
||||
|
||||
namespace Titanic {
|
||||
|
||||
class CStarControlSub10 {
|
||||
class CStarArray {
|
||||
struct CStarArrayEntry {
|
||||
double _v1;
|
||||
double _v2;
|
||||
double _v3;
|
||||
};
|
||||
private:
|
||||
int _field0;
|
||||
int _field4;
|
||||
Common::Array<CStarArrayEntry> _data;
|
||||
public:
|
||||
CStarControlSub10() : _field0(0), _field4(0) {}
|
||||
CStarArray();
|
||||
|
||||
/**
|
||||
* Initialize the array
|
||||
*/
|
||||
void initialize();
|
||||
};
|
||||
|
||||
} // End of namespace Titanic
|
||||
|
||||
#endif /* TITANIC_STAR_CONTROL_SUB10_H */
|
||||
#endif /* TITANIC_STAR_ARRAY_H */
|
@ -43,6 +43,7 @@ void CStarControlSub1::load(SimpleFile *file, int param) {
|
||||
|
||||
bool CStarControlSub1::initDocument() {
|
||||
warning("CStarControlSub1::initDocument");
|
||||
_starArray.initialize();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -23,12 +23,12 @@
|
||||
#ifndef TITANIC_STAR_CONTROL_SUB1_H
|
||||
#define TITANIC_STAR_CONTROL_SUB1_H
|
||||
|
||||
#include "titanic/star_control/star_array.h"
|
||||
#include "titanic/star_control/star_control_sub2.h"
|
||||
#include "titanic/star_control/star_control_sub5.h"
|
||||
#include "titanic/star_control/star_control_sub7.h"
|
||||
#include "titanic/star_control/star_control_sub8.h"
|
||||
#include "titanic/star_control/star_control_sub9.h"
|
||||
#include "titanic/star_control/star_control_sub10.h"
|
||||
|
||||
namespace Titanic {
|
||||
|
||||
@ -37,7 +37,7 @@ private:
|
||||
CStarControlSub7 _sub7;
|
||||
CStarControlSub8 _sub8;
|
||||
CStarControlSub9 _sub9;
|
||||
CStarControlSub10 _sub10;
|
||||
CStarArray _starArray;
|
||||
CStarControlSub5 _sub5;
|
||||
int _field7DA8;
|
||||
int _field7DAC;
|
||||
|
Loading…
x
Reference in New Issue
Block a user