61 Commits

Author SHA1 Message Date
UnknownShadow200
30937e92f5 little bit less hardcoding 2018-03-20 16:54:48 +11:00
UnknownShadow200
68b861f6c8 little bit less hardcoding 2018-03-19 22:07:26 +11:00
UnknownShadow200
20433f97ab Make TerrainAtlas and TerrainAtlas1D static for very minor performance increase 2018-03-15 21:04:21 +11:00
UnknownShadow200
4a332f80ac Increase default max chunks built per frame from 20 to 30, also add undocumented option to increase that even more. 2018-01-15 11:37:02 +11:00
UnknownShadow200
9dd16baf47 ChunkPartInfo is now 12 bytes less in size 2017-09-13 14:20:11 +10:00
UnknownShadow200
c23ba90c1f Make BlockInfo class static and break all plugins in the process. 2017-08-14 09:33:21 +10:00
UnknownShadow200
2717460d0b Implement more of ChunkUpdater in C, remove a few redundant bits of code. 2017-06-16 15:02:13 +10:00
UnknownShadow200
d23da1addf Fix client crashing from changing texture pack, fixes #434. (Thanks bzzbird) 2017-06-09 08:29:30 +10:00
UnknownShadow200
aa1ddc7b25 Store global 1D part counts separately for normal and translucent parts. allows globally skipping 1D batches with no translucent parts, for faster performance 2017-06-08 12:19:08 +10:00
UnknownShadow200
9a2c115af3 Port MapBordersRenderer to C. 2017-05-31 10:09:00 +10:00
UnknownShadow200
673ae93b0c Replace properties with fields in 2D classes, remove unused 2D classes methods. 2017-05-28 14:52:19 +10:00
UnknownShadow200
90b1b1818d Remove all declarations in for loops, for pre C99 compatibility. 2017-05-13 00:03:11 +10:00
UnknownShadow200
5a49676c8a Start work on implementing 1D and 2D texture atlas in C. 2017-05-12 23:48:04 +10:00
UnknownShadow200
34f84ef280 simplify a bit 2017-05-07 16:42:14 +10:00
UnknownShadow200
747e3183d6 Modularise lighting more 2017-04-22 15:03:06 +10:00
UnknownShadow200
0d927dfe2e Move code out of World.SetBlock 2017-04-22 13:53:31 +10:00
UnknownShadow200
f71d88c699 Use sides offset instead. (Thanks goodlyay) 2017-04-16 15:16:34 +10:00
UnknownShadow200
2b3b99d03d Allow changing sides height separately 2017-04-16 14:00:06 +10:00
UnknownShadow200
c18b05d608 Fix some all air chunks being rebuilt every frame 2017-02-21 07:27:41 +11:00
UnknownShadow200
005d0cebe2 For the 0-1 people who bother, make 12 bit block ids as easy as a compile time switch. 2017-02-19 22:29:07 +11:00
UnknownShadow200
b6df7d9732 Don't pointlessly recreate all air chunks 2017-02-19 11:40:35 +11:00
UnknownShadow200
3fad8450b7 Prefer stale to deleted chunks 2017-02-19 11:10:24 +11:00
UnknownShadow200
3a32bc39b3 Try to reuse audio devices to avoid expensive device recreating 2017-02-17 21:35:07 +11:00
UnknownShadow200
cf06302e33 Fix leftover issues 2017-02-16 16:42:50 +11:00
UnknownShadow200
c92ebcac6c Use BlockID typedef instead of hardcoding byte everywhere.
In the 0.00001% chance someone changes blockid to be 16 bits
2017-02-16 16:31:17 +11:00
UnknownShadow200
e7aa519846 more concise interpolation, fix last commit 2017-01-25 22:30:56 +11:00
UnknownShadow200
55093847db initial entity rotation. breaks multiplayer. 2017-01-25 21:16:11 +11:00
UnknownShadow200
98d435b110 fix licensing 2017-01-20 09:12:04 +11:00
UnknownShadow200
e33d39685c Style: Make more code available to external plugins. 2016-12-03 19:26:38 +11:00
UnknownShadow200
dddc9954b7 Client: start work on loading external plugins 2016-12-03 17:44:45 +11:00
UnknownShadow200
1aef52fab2 Use standard indentation for everything. 2016-11-27 14:47:09 +11:00
UnknownShadow200
2fa379746a Style: Finish simplifying BlockInfo 2016-10-29 13:49:33 +11:00
UnknownShadow200
d24a929267 Core: Allow building up to 16 chunks per frame. 2016-10-17 16:42:38 +11:00
UnknownShadow200
8d994e7c08 Core: Chunks should unload/load based on user's view distance, not map fog. 2016-10-16 14:09:15 +11:00
UnknownShadow200
7f92161077 Gfx: IGraphicsApi is no longer responsible for managing dynamic vertex buffers. Simplify dynamic vertex buffer code. 2016-10-12 19:28:00 +11:00
UnknownShadow200
6aefaec83e Gfx: Unload far away chunks that we can't see to reduce video memory usage on low fog distances. 2016-10-03 21:55:56 +11:00
UnknownShadow200
ac13fa78ca Gfx: Use Default instead of Managed pool on Direct3D 9 backendfor vertex buffers, typically halfs memory usage.
Managed pool places data in both video and system memory. By only using the default pool, we only store data in video memory (at the cost of needing to recreate vertex buffers whenever the context is lost). This also means the client will crash whenever it runs out of video memory.. but really if that happens, you are likely stuffed anyway. I think the tradeoff is worth it. I'll also unload far away chunks to reduce video memory usage.
2016-10-03 21:23:18 +11:00
UnknownShadow200
64cb13d0a6 Gfx: DeleteVb should reset the id too. 2016-10-01 17:45:17 +10:00
UnknownShadow200
f399c838f2 Client: Keep track of edge level in mesh builder. 2016-09-15 10:56:32 +10:00
UnknownShadow200
d837e52724 Better indentation 2016-08-30 12:49:24 +10:00
UnknownShadow200
202b6a99aa Microoptimise block redraw methods, makes things slightly faster when changing millions of blocks. 2016-08-17 14:08:43 +10:00
UnknownShadow200
466bd531cd Avoid unnecessary memory allocation in BlockDefinitionChanged. 2016-08-16 14:26:44 +10:00
UnknownShadow200
a9b3c0876e Fix last commit. 2016-07-12 20:15:19 +10:00
UnknownShadow200
4281dead19 Allow switching between normal / smooth lighting mesh building at runtime. 2016-07-09 16:10:32 +10:00
UnknownShadow200
f39f83cd22 Start work on modularising mesh builder class, so we can support both normal and smooth lighting backends. 2016-07-09 15:30:39 +10:00
UnknownShadow200
118f134b8f Implement top-face water culling like classic. 2016-07-07 17:42:26 +10:00
UnknownShadow200
ad720d69dd Fix rare crash when placing block at top of map. (Thanks kinjacidaleen) 2016-07-05 20:34:05 +10:00
UnknownShadow200
3291c47b9f Fix last commit. 2016-06-28 16:55:36 +10:00
UnknownShadow200
d2c6820dec Do much more optimised chunk rendering, this can double FPS on very large worlds (512^3 or 1024^3) which have many empty chunks. 2016-06-28 13:29:42 +10:00
UnknownShadow200
46095f6db9 Use methods compatible with OpenTK 1.0 API. 2016-06-21 08:34:27 +10:00