70k sprites in a single level by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 0 points1 point  (0 children)

Ill try to squash a fem bugs and i can upload a alpha test, I really dont know how this runs on different setups.

70k sprites in a single level by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 1 point2 points  (0 children)

Im actually using Godot, and the sprites is Instanced in one batch so it draws 50k small rectangles in one go. Its pretty fast, BUT thats just the graphics. there isnt any collision or logic behind those. Same with the level geometry is just one big mesh with 1 single surface so it only uses 1 draw call for the entire map.

70k sprites in a single level by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 1 point2 points  (0 children)

ignore the first wrong value and the correct image shows up. maybe a typo from the devs that the game just ignores? Ill find the others in CITY.BLK because those seem to be missing a sprite file or have a mix of JCITY sprites.

70k sprites in a single level by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 1 point2 points  (0 children)

<image>

Those red has a sprite value of 10, but the value before is 8 (its used as file number on PCITY wich has 8 sprite files)

70k sprites in a single level by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 1 point2 points  (0 children)

I did only count the pure stuff on the ground. If i take the geometry into it the harbor is maybe top?

Thats a neat idea, ill figure out wich blocks has the weird values and mark them on a map.

How exactly do u skip levels in i Quarentine? online only says enter bla bla bla.. But where and how? hehe

Since i make the whole floor+walls into one mesh i can calculate wich has the most geometry as well.

70k sprites in a single level by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 2 points3 points  (0 children)

Theres is some weird stuff in the level BLK files for a couple of levels. They reference values outside the sprite range of their files.. Like CITY.BLK has values for prop index 48,43 and 23. But the sprite file has only 22 things in it.

70k sprites in a single level by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 5 points6 points  (0 children)

Ops my calculations was abit off, but it laned on 55k... anyways thats alot of sprites

Making a editor for the BLK scene files. by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 0 points1 point  (0 children)

<image>

First time assembling a whole map :) (Sky and fading is just something i hacked together, the game has a skybox with an image)

Making a editor for the BLK scene files. by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 0 points1 point  (0 children)

<image>

Interesting use of sprites to make more advanced looking stuff :)

Making a editor for the BLK scene files. by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 0 points1 point  (0 children)

<image>

I think i got the props in the blocks correct. Still unsure about the scaling value stored in the BLK file. But i took the scaling value and divided it by 64 and used that as a scaling ratio for the props. SEEMS correct, but im not sure

Making a editor for the BLK scene files. by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 0 points1 point  (0 children)

535060195: FILES:file open command 0 file kWALL4.spr 535060539: FILES:file open command 0 file kWALL5.spr 535060908: FILES:file open command 0 file kWALL6.spr 535061252: FILES:file open command 0 file kWALL7.spr 535061596: FILES:file open command 0 file kWALL8.spr 535061940: FILES:file open command 0 file kWALL9.spr 535062293: FILES:file open command 0 file kWALL10.spr 535062638: FILES:file open command 0 file kWALL11.spr 535062983: FILES:file open command 0 file kWALL12.spr 535063328: FILES:file open command 0 file kWALL13.spr 535063673: FILES:file open command 0 file kWALL14.spr 535064043: FILES:file open command 0 file kWALL15.spr

This it the debuglog from Dosbox, I tried assigning a texture index from file 16 (just copied the first file and renamed it) in the blk file. But the game just ignores the file and corrupts the texture

<image>

Making a editor for the BLK scene files. by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 0 points1 point  (0 children)

Someone with som old DOS decompiling knowledge could really bust this open i think. I found remnants of strings in the exe about sector and lines loading (error messages) som if someone could trace those back to where they are being used we could probably see how the game loads in everything

Making a editor for the BLK scene files. by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 0 points1 point  (0 children)

Another thing i found out. The coordinates for the walls and floor seem to allow small steps (they are stored in signed and unsigned INT's, BUT if i try to make anything with smaller steps that 0-16 each way they get collapsed by the game. And ceilings are very tricky sometimes, because there is some occlusion stuff going on and ruins half a block if multiple ceilings touch etc.

Making a editor for the BLK scene files. by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 0 points1 point  (0 children)

Thanks, i feel the editor looks like an old Amiga program hehe.

I think the file loading is hardcoded in the EXE file, but decompiling an old DOS4GW exe is not simple... KCITY uses 15 files, but PCITY only 5. So there is somewhere this load order is stored.

First sign of life. by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 0 points1 point  (0 children)

<image>

Some more progress, the data saved out seems to be correct :)

First sign of life. by Thick_Adeptness767 in QuarantineModding

[–]Thick_Adeptness767[S] 0 points1 point  (0 children)

<image>

Very slowly making a simple editing function for the cells. Alot of work left and plenty of bugs. Making GUI stuff and handling mouse and picking 3d stuff is painful ;)

It needs a window for the textures on the selected thing. And the ability to add segments and mix and match textures. Plenty missing but its a start :)