Overview
| Comment: | Make do_load_moves and the SQL solution move list function using the new move list decoding functions. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
063db0939e67470548d9855579606b46 |
| User & Date: | user on 2022-06-29 05:54:45.210 |
| Other Links: | manifest | tags |
Context
|
2022-06-29
| ||
| 06:24 | FAQ entry about how was figuring out the working of the original game engine. check-in: 1f566350d9 user: user tags: trunk | |
| 05:54 | Make do_load_moves and the SQL solution move list function using the new move list decoding functions. check-in: 063db0939e user: user tags: trunk | |
|
2022-06-28
| ||
| 06:49 | Use the new user state format in the level table implementation. check-in: 98625fd224 user: user tags: trunk | |
Changes
Modified function.c
from [7dea84fa1f]
to [9d360dcc17].
| ︙ | ︙ | |||
459 460 461 462 463 464 465 466 467 468 469 470 471 472 |
long sz;
int i=3;
unsigned char*d=read_lump(FIL_SOLUTION,level_id,&sz);
if(sz<4 || !d || ((!argc || !sqlite3_value_int(*argv)) && (d[0]|(d[1]<<8))!=level_version)) {
free(d);
return;
}
if(d[2]&1) {
while(i<sz && d[i]) i++;
i++;
}
if(d[2]&2) i+=8;
if(i<sz) sqlite3_result_blob(cxt,d+i,sz-i,SQLITE_TRANSIENT);
free(d);
| > | 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 |
long sz;
int i=3;
unsigned char*d=read_lump(FIL_SOLUTION,level_id,&sz);
if(sz<4 || !d || ((!argc || !sqlite3_value_int(*argv)) && (d[0]|(d[1]<<8))!=level_version)) {
free(d);
return;
}
if(d[2]&128) i+=4;
if(d[2]&1) {
while(i<sz && d[i]) i++;
i++;
}
if(d[2]&2) i+=8;
if(i<sz) sqlite3_result_blob(cxt,d+i,sz-i,SQLITE_TRANSIENT);
free(d);
|
| ︙ | ︙ |
Modified game.c
from [e7202bf383]
to [941e9e54d5].
| ︙ | ︙ | |||
773 774 775 776 777 778 779 780 |
return;
}
encode_move_list(fp);
pclose(fp);
}
static void do_load_moves(sqlite3_stmt*st) {
int i=sqlite3_column_bytes(st,1);
| > < | | | | | 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 |
return;
}
encode_move_list(fp);
pclose(fp);
}
static void do_load_moves(sqlite3_stmt*st) {
FILE*fp;
int i=sqlite3_column_bytes(st,1);
fp=fmemopen((char*)sqlite3_column_blob(st,1)?:"",i,"r");
if(!fp) fatal("Allocation failed\n");
decode_move_list(fp);
fclose(fp);
}
static int copy_text_to_plain(unsigned char*out,int maxlen,const unsigned char*in) {
int at=0;
if(!in) {
*out=0;
return 0;
|
| ︙ | ︙ |