aboutsummaryrefslogtreecommitdiff
path: root/project/src/lib-kmp-text.c
diff options
context:
space:
mode:
authorWiimm <wiimm@wiimm.de>2020-12-26 23:18:34 +0100
committerWiimm <wiimm@wiimm.de>2020-12-26 23:18:34 +0100
commita3d605bc52ba3e53720d0dee29a470661b35a1c2 (patch)
treed36bf07ff543a013880eb0e6b81cc8e63c11e33d /project/src/lib-kmp-text.c
parent9c0078c6b9c1309b48f9ece8b5cad1b9be9a75c5 (diff)
SZS v2.22a
Diffstat (limited to 'project/src/lib-kmp-text.c')
-rw-r--r--project/src/lib-kmp-text.c31
1 files changed, 23 insertions, 8 deletions
diff --git a/project/src/lib-kmp-text.c b/project/src/lib-kmp-text.c
index 22bc664..2d6a46a 100644
--- a/project/src/lib-kmp-text.c
+++ b/project/src/lib-kmp-text.c
@@ -3907,16 +3907,16 @@ static enumError ScanTextAREA
}
else if ( si->cur_file->revision < 2956 )
{
- // 2011-08-26, v0.17a, r2956 -> new table layout
-
ScanBE16SI(si,(u16*)&entry->mode,2,0);
ScanFloatV3SI(si,entry->position,1);
ScanU16SI(si,entry->setting,4,0);
ScanFloatV3SI(si,entry->rotation,1);
ScanFloatV3SI(si,entry->scale,1);
}
- else
+ else if ( si->cur_file->revision < 8317 )
{
+ // since 2011-08-26, v0.17a, r2956 -> new table layout
+
ScanU8SI(si,&entry->mode,2,0);
ScanFloatV3SI(si,entry->position,1);
ScanU16SI(si,entry->setting,4,0);
@@ -3924,6 +3924,19 @@ static enumError ScanTextAREA
ScanFloatV3SI(si,entry->rotation,1);
ScanFloatV3SI(si,entry->scale,1);
}
+ else
+ {
+ // since 2020-12-04, v2.22a, r8317 -> new table layout
+
+ ScanU8SI(si,&entry->mode,2,0);
+ ScanFloatV3SI(si,entry->position,1);
+ ScanU16SI(si,entry->setting,2,0);
+ ScanU8SI(si,&entry->dest_id,2,0);
+ ScanFloatV3SI(si,entry->rotation,1);
+ ScanU8SI(si,&entry->route,2,0);
+ ScanU16SI(si,&entry->unknown_2e,1,0);
+ ScanFloatV3SI(si,entry->scale,1);
+ }
CheckEolSI(si);
}
CheckLevelSI(si);
@@ -6470,11 +6483,12 @@ enumError SaveTextKMP
{
*buf1 = 0;
PrintNameIL(F.f,ill+KMP_AREA,i,6,8,0);
+
fprintf(F.f,
- "%#4x %#4x %12.3f %11.3f %11.3f %#6x %#6x %#6x %#6x\r\n >",
+ "%#4x %#4x %12.3f %11.3f %11.3f %#6x %#6x\r\n >",
area->mode, area->type,
area->position[0], area->position[1], area->position[2],
- area->setting[0], area->setting[1], area->setting[2], area->setting[3] );
+ area->setting[0], area->setting[1] );
if ( area->type == 0x00 )
PrintNameIL(F.f,ill+KMP_CAME,area->dest_id,10,10,2);
@@ -6482,11 +6496,12 @@ enumError SaveTextKMP
fprintf(F.f,"%#10x",area->dest_id);
fprintf(F.f,
- " %#4x %12.3f %11.3f %11.3f\r\n"
+ " %#4x %12.3f %11.3f %11.3f %6s %6s %#6x\r\n"
" > %28.3f %11.3f %11.3f\r\n"
- "#%.84s\r\n",
- area->unknown,
+ "#%.78s\r\n",
+ area->prio,
area->rotation[0], area->rotation[1], area->rotation[2],
+ PrintU8M1(area->route), PrintU8M1(area->enemy), area->unknown_2e,
area->scale[0], area->scale[1], area->scale[2],
Minus300 );
}