[Scummvm-cvs-logs] CVS: scummvm/simon saveload.cpp,1.15,1.16 simon.cpp,1.514,1.515 vga.cpp,1.133,1.134 vga.h,1.11,1.12
kirben
kirben at users.sourceforge.net
Fri Oct 7 00:00:50 CEST 2005
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/saga actor.cpp,1.192,1.193 game.cpp,1.102,1.103 sfuncs.cpp,1.170,1.171 sprite.cpp,1.64,1.65
- Next message: [Scummvm-cvs-logs] CVS: scummvm/simon vga.cpp,1.134,1.135
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/simon
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32405/simon
Modified Files:
saveload.cpp simon.cpp vga.cpp vga.h
Log Message:
FF starts VGA script.
Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/saveload.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- saveload.cpp 6 Oct 2005 14:34:24 -0000 1.15
+++ saveload.cpp 7 Oct 2005 06:59:49 -0000 1.16
@@ -487,7 +487,12 @@
char *SimonEngine::gen_savename(int slot) {
static char buf[15];
- if (_game & GF_SIMON2) {
+ if (_game == GAME_FEEBLEFILES) {
+ if (slot == 999)
+ sprintf(buf, "save.%.3d", slot);
+ else
+ sprintf(buf, "feeble.%.3d", slot);
+ } else if (_game & GF_SIMON2) {
sprintf(buf, "simon2.%.3d", slot);
} else {
sprintf(buf, "simon1.%.3d", slot);
Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.514
retrieving revision 1.515
diff -u -d -r1.514 -r1.515
--- simon.cpp 6 Oct 2005 14:34:24 -0000 1.514
+++ simon.cpp 7 Oct 2005 06:59:49 -0000 1.515
@@ -75,7 +75,7 @@
{"simon2mac", "Simon the Sorcerer 2 Talkie (Amiga or Mac)", GAME_SIMON2WIN, 0},
{"simon1cd32", "Simon the Sorcerer 1 Talkie (Amiga CD32)", GAME_SIMON1CD32, "gameamiga"},
{"simon1demo", "Simon the Sorcerer 1 (DOS Demo)", GAME_SIMON1DEMO, "GDEMO"},
- {"ff", "The Feeble Files", GAME_FEEBLEFILES, "GAME22"},
+ {"feeble", "The Feeble Files", GAME_FEEBLEFILES, "GAME22"},
{NULL, NULL, 0, NULL}
};
@@ -2477,7 +2477,7 @@
uint num, num_lines;
VgaPointersEntry *vpe;
byte *bb, *b;
- uint16 c;
+ // uint16 c;
const byte *vc_ptr_org;
_windowNum = mode;
@@ -2510,12 +2510,22 @@
// ensure flipping complete
bb = _curVgaFile1;
- b = bb + READ_BE_UINT16(&((VgaFile1Header *) bb)->hdr2_start);
- c = READ_BE_UINT16(&((VgaFile1Header2 *) b)->unk1);
- b = bb + READ_BE_UINT16(&((VgaFile1Header2 *) b)->unk2_offs);
- while (READ_BE_UINT16(&((VgaFile1Struct0x8 *) b)->id) != vga_res_id)
- b += sizeof(VgaFile1Struct0x8);
+ if (_game == GAME_FEEBLEFILES) {
+ b = bb + READ_LE_UINT16(&((FFVgaFile1Header *) bb)->hdr2_start);
+ //c = READ_LE_UINT16(&((FFVgaFile1Header2 *) b)->unk1);
+ b = bb + READ_LE_UINT16(&((FFVgaFile1Header2 *) b)->unk2_offs);
+
+ while (READ_LE_UINT16(&((FFVgaFile1Struct0x8 *) b)->id) != vga_res_id)
+ b += sizeof(FFVgaFile1Struct0x8);
+ } else {
+ b = bb + READ_BE_UINT16(&((VgaFile1Header *) bb)->hdr2_start);
+ //c = READ_BE_UINT16(&((VgaFile1Header2 *) b)->unk1);
+ b = bb + READ_BE_UINT16(&((VgaFile1Header2 *) b)->unk2_offs);
+
+ while (READ_BE_UINT16(&((VgaFile1Struct0x8 *) b)->id) != vga_res_id)
+ b += sizeof(VgaFile1Struct0x8);
+ }
if (!(_game & GF_SIMON2)) {
if (num == 16300) {
@@ -2534,7 +2544,11 @@
vc_ptr_org = _vcPtr;
- _vcPtr = _curVgaFile1 + READ_BE_UINT16(&((VgaFile1Struct0x8 *) b)->script_offs);
+ if (_game == GAME_FEEBLEFILES) {
+ _vcPtr = _curVgaFile1 + READ_LE_UINT16(&((FFVgaFile1Struct0x8 *) b)->script_offs);
+ } else {
+ _vcPtr = _curVgaFile1 + READ_BE_UINT16(&((VgaFile1Struct0x8 *) b)->script_offs);
+ }
//dump_vga_script(_vcPtr, num, vga_res_id);
run_vga_script();
_vcPtr = vc_ptr_org;
Index: vga.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/vga.cpp,v
retrieving revision 1.133
retrieving revision 1.134
diff -u -d -r1.133 -r1.134
--- vga.cpp 5 Oct 2005 12:16:49 -0000 1.133
+++ vga.cpp 7 Oct 2005 06:59:49 -0000 1.134
@@ -147,7 +147,12 @@
}
uint SimonEngine::vc_read_next_word() {
- uint a = READ_BE_UINT16(_vcPtr);
+ uint a;
+ if (_game == GAME_FEEBLEFILES) {
+ a = READ_LE_UINT16(_vcPtr);
+ } else {
+ a = READ_BE_UINT16(_vcPtr);
+ }
_vcPtr += 2;
return a;
}
@@ -623,10 +628,17 @@
p2 = _curVgaFile2 + state.image * 8;
state.depack_src = _curVgaFile2 + READ_BE_UINT32(p2);
- width = READ_BE_UINT16(p2 + 6) >> 4;
+ if (_game == GAME_FEEBLEFILES) {
+ width = READ_LE_UINT16(p2 + 6);
+ } else {
+ width = READ_BE_UINT16(p2 + 6) >> 4;
+ }
+
height = p2[5];
flags = p2[4];
+ debug(1, "Width %d Height %d Flags 0x%x\n", width, height, flags);
+
if (height == 0 || width == 0)
return;
Index: vga.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/vga.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- vga.h 5 Oct 2005 11:37:26 -0000 1.11
+++ vga.h 7 Oct 2005 06:59:49 -0000 1.12
@@ -28,6 +28,32 @@
#pragma START_PACK_STRUCTS
#endif
+// Feeble Files
+struct FFVgaFile1Header {
+ uint16 x_1;
+ uint16 hdr2_start;
+ uint16 x_2, x_3;
+} GCC_PACK;
+
+struct FFVgaFile1Header2 {
+ uint16 unk1;
+ uint16 x_2;
+ uint16 id_count;
+ uint16 x_3;
+ uint16 unk2_offs;
+ uint16 x_4;
+ uint16 id_table;
+ uint16 x_5;
+} GCC_PACK;
+
+struct FFVgaFile1Struct0x8 {
+ uint16 id;
+ uint16 x_1;
+ uint16 script_offs;
+ uint16 x_2;
+} GCC_PACK;
+
+// Simon 1/2
struct VgaFile1Header {
uint16 x_1, x_2;
uint16 hdr2_start;
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/saga actor.cpp,1.192,1.193 game.cpp,1.102,1.103 sfuncs.cpp,1.170,1.171 sprite.cpp,1.64,1.65
- Next message: [Scummvm-cvs-logs] CVS: scummvm/simon vga.cpp,1.134,1.135
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list