Skip to content

Commit a543b4f

Browse files
authored
Implement BufferBuilder (#85)
* Implement `BufferBuilder` * Add MATCHING_HACK * fix lint * fix clang-format * run lint --fix * change casts * changes from reviews * make linter happy * changes from reviews
1 parent 4785c10 commit a543b4f

13 files changed

Lines changed: 669 additions & 87 deletions

File tree

data/mcswitch_functions.csv

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -5705,7 +5705,7 @@ Address,Quality,Size,Name
57055705
0x00000071000d82bc,O,000008,_ZN30ClientboundSetExperiencePacket21getExperienceProgressEv
57065706
0x00000071000d82c4,O,000008,_ZN30ClientboundSetExperiencePacket18getExperienceLevelEv
57075707
0x00000071000d82cc,O,000008,_ZN30ClientboundSetExperiencePacket18getTotalExperienceEv
5708-
0x00000071000d82d4,M,000068,_ZN26ClientboundSetHealthPacketC1Ev
5708+
0x00000071000d82d4,O,000068,_ZN26ClientboundSetHealthPacketC1Ev
57095709
0x00000071000d8318,U,000108,_ZN26ClientboundSetHealthPacketC_gen
57105710
0x00000071000d8384,O,000132,_ZN26ClientboundSetHealthPacket4readEP15DataInputStream
57115711
0x00000071000d8408,O,000124,_ZN26ClientboundSetHealthPacket5writeEP16DataOutputStream
@@ -39650,15 +39650,15 @@ Address,Quality,Size,Name
3965039650
0x0000007100610470,U,000008,
3965139651
0x0000007100610478,U,000048,_ZN13ArrowRendererC_gen
3965239652
0x00000071006104a8,U,001148,
39653-
0x0000007100610924,U,000040,_ZN13BufferBuilder5beginEv
39654-
0x000000710061094c,U,000056,
39655-
0x0000007100610984,U,000084,_ZN13BufferBuilder8vertexUVEfffff
39656-
0x00000071006109d8,U,000292,_ZN13BufferBuilder3endEv
39653+
0x0000007100610924,O,000040,_ZN13BufferBuilder5beginEv
39654+
0x000000710061094c,O,000056,_ZN13BufferBuilder6normalEfff
39655+
0x0000007100610984,O,000084,_ZN13BufferBuilder8vertexUVEfffff
39656+
0x00000071006109d8,O,000292,_ZN13BufferBuilder3endEv
3965739657
0x0000007100610afc,U,000012,
3965839658
0x0000007100610b08,U,000160,_ZN19AttackSweepParticleC_gen
3965939659
0x0000007100610ba8,U,000680,
39660-
0x0000007100610e50,U,000060,_ZN13BufferBuilder5beginEi
39661-
0x0000007100610e8c,U,000036,_ZN13BufferBuilder5colorEfff
39660+
0x0000007100610e50,O,000060,_ZN13BufferBuilder5beginEi
39661+
0x0000007100610e8c,O,000036,_ZN13BufferBuilder5colorEfff
3966239662
0x0000007100610eb0,U,000008,
3966339663
0x0000007100610eb8,U,000048,
3966439664
0x0000007100610ee8,U,000008,
@@ -39678,7 +39678,7 @@ Address,Quality,Size,Name
3967839678
0x00000071006118a0,U,000144,_ZN15BarrierParticleC_gen
3967939679
0x0000007100611930,U,000008,
3968039680
0x0000007100611938,U,000556,
39681-
0x0000007100611b64,U,000016,_ZN13BufferBuilder4tex2Ei
39681+
0x0000007100611b64,O,000016,_ZN13BufferBuilder4tex2Ei
3968239682
0x0000007100611b74,U,000112,
3968339683
0x0000007100611be4,U,001672,_ZN8BatModelC_gen
3968439684
0x000000710061226c,U,000252,_ZN8BatModel6renderERNSt3__110shared_ptrI6EntityEEffffffb
@@ -39696,7 +39696,7 @@ Address,Quality,Size,Name
3969639696
0x0000007100612cb8,U,000040,
3969739697
0x0000007100612ce0,U,000004,_ZN14BeaconRenderer16renderBeaconBeamEddddddii15arrayWithLengthIKfE
3969839698
0x0000007100612ce4,U,002004,_ZN14BeaconRenderer16renderBeaconBeamEddddddii15arrayWithLengthIKfEdd
39699-
0x00000071006134b8,U,000044,_ZN13BufferBuilder5colorEffff
39699+
0x00000071006134b8,O,000044,_ZN13BufferBuilder5colorEffff
3970039700
0x00000071006134e4,U,000008,
3970139701
0x00000071006134ec,O,000836,_ZN8BedModelC1ERK15ModelDefinition
3970239702
0x0000007100613830,O,000108,_ZN8BedModel6renderEb
@@ -39801,7 +39801,7 @@ Address,Quality,Size,Name
3980139801
0x0000007100618e48,U,000100,_ZN13BlockRenderer28tesselateInWorldFixedTextureEPK10BlockStateRK8BlockPosP18TextureAtlasSprite
3980239802
0x0000007100618eac,U,001468,_ZN13BlockRenderer16tesselateInWorldEPK10BlockStateRK8BlockPosS2_NSt3__110shared_ptrI11BlockEntityEE
3980339803
0x0000007100619468,U,000120,
39804-
0x00000071006194e0,U,000020,_ZN13BufferBuilder15setMipmapEnableEb
39804+
0x00000071006194e0,O,000020,_ZN13BufferBuilder15setMipmapEnableEb
3980539805
0x00000071006194f4,U,000008,_ZN5Block15isMipmapEnabledEv
3980639806
0x00000071006194fc,U,000336,tesselateBlockInWorld__13BlockRendererFPC10BlockStateRC8BlockPosi
3980739807
0x000000710061964c,U,000532,tesselateTrapDoorInWorld__13BlockRendererFPC10BlockStateRC8BlockPos
@@ -39863,7 +39863,7 @@ Address,Quality,Size,Name
3986339863
0x000000710062e980,U,000056,
3986439864
0x000000710062e9b8,U,000040,
3986539865
0x000000710062e9e0,U,000008,
39866-
0x000000710062e9e8,U,000036,_ZN13BufferBuilder9addOffsetEfff
39866+
0x000000710062e9e8,O,000036,_ZN13BufferBuilder9addOffsetEfff
3986739867
0x000000710062ea0c,O,000856,_ZN13BlockRenderer21tesselateCrossTextureEPK10BlockStateffff
3986839868
0x000000710062ed64,U,000500,
3986939869
0x000000710062ef58,U,000752,
@@ -39879,7 +39879,7 @@ Address,Quality,Size,Name
3987939879
0x0000007100630704,U,000752,
3988039880
0x00000071006309f4,U,000868,
3988139881
0x0000007100630d58,U,001392,
39882-
0x00000071006312c8,U,000020,color__13BufferBuilderFi
39882+
0x00000071006312c8,O,000020,_ZN13BufferBuilder5colorEi
3988339883
0x00000071006312dc,U,000084,_ZN13BlockRenderer15tesselateEndRodEPK10BlockStatefff
3988439884
0x0000007100631330,O,002276,_ZN13BlockRenderer21tesselateEndRodCenterEPK10BlockStatefff
3988539885
0x0000007100631c14,U,002088,_ZN13BlockRenderer19tesselateEndRodBaseEPK10BlockStatefff
@@ -39890,7 +39890,7 @@ Address,Quality,Size,Name
3989039890
0x00000071006339b4,M,001380,_ZN13BlockRenderer10renderEastEPK10BlockStatedddP18TextureAtlasSpriteffff
3989139891
0x0000007100633f18,M,001384,_ZN13BlockRenderer10renderWestEPK10BlockStatedddP18TextureAtlasSpriteffff
3989239892
0x0000007100634480,U,000436,
39893-
0x0000007100634634,U,000008,bucket__13BufferBuilderFi
39893+
0x0000007100634634,O,000008,_ZN13BufferBuilder6bucketEi
3989439894
0x000000710063463c,U,000112,_ZN13BlockRenderer10getTextureEPK10BlockStateP11LevelSourceRK8BlockPosPK9Direction
3989539895
0x00000071006346ac,U,000048,
3989639896
0x00000071006346dc,U,000140,
@@ -39944,28 +39944,28 @@ Address,Quality,Size,Name
3994439944
0x0000007100637e00,U,000492,_ZN14BubbleParticleC_gen
3994539945
0x0000007100637fec,U,000416,
3994639946
0x000000710063818c,U,000148,
39947-
0x0000007100638220,U,000236,_ZN13BufferBuilderC1Ei
39948-
0x000000710063830c,U,000004,
39949-
0x0000007100638310,U,000148,_ZN13BufferBuilder15finaliseShadersEv
39950-
0x00000071006383a4,U,000016,_ZN13BufferBuilder5clearEv
39951-
0x00000071006383b4,U,000036,
39952-
0x00000071006383d8,U,000012,_ZN13BufferBuilder19useProjectedTextureEb
39953-
0x00000071006383e4,U,000012,_ZN13BufferBuilder18useCompactVerticesEb
39954-
0x00000071006383f0,U,000020,_ZN13BufferBuilder3texEff
39955-
0x0000007100638404,U,000008,
39956-
0x000000710063840c,U,000116,_ZN13BufferBuilder5colorEiiii
39957-
0x0000007100638480,U,000100,_ZN13BufferBuilder6vertexEfff
39958-
0x00000071006384e4,U,000100,
39959-
0x0000007100638548,U,000016,
39960-
0x0000007100638558,U,000848,
39961-
0x00000071006388a8,U,000100,_ZN13BufferBuilder6Bounds7addVertEfff
39947+
0x0000007100638220,M,000236,_ZN13BufferBuilderC1Ei
39948+
0x000000710063830c,O,000004,_ZN13BufferBuilder14sub_710063830cEv
39949+
0x0000007100638310,O,000148,_ZN13BufferBuilder15finaliseShadersEv
39950+
0x00000071006383a4,O,000016,_ZN13BufferBuilder5clearEv
39951+
0x00000071006383b4,O,000036,_ZN13BufferBuilder6Bounds10initBoundsEv
39952+
0x00000071006383d8,O,000012,_ZN13BufferBuilder19useProjectedTextureEb
39953+
0x00000071006383e4,O,000012,_ZN13BufferBuilder18useCompactVerticesEb
39954+
0x00000071006383f0,O,000020,_ZN13BufferBuilder3texEff
39955+
0x0000007100638404,O,000008,_ZN13BufferBuilder5colorEiii
39956+
0x000000710063840c,O,000116,_ZN13BufferBuilder5colorEiiii
39957+
0x0000007100638480,O,000100,_ZN13BufferBuilder6vertexEfff
39958+
0x00000071006384e4,O,000100,_ZN13BufferBuilder15vertexUVSkinnedEfffffi
39959+
0x0000007100638548,O,000016,_ZN13BufferBuilder9boneIndexEi
39960+
0x0000007100638558,O,000848,_ZN13BufferBuilder13blockRainQuadEffffffffffffffffffffffffffffi
39961+
0x00000071006388a8,O,000100,_ZN13BufferBuilder6Bounds7addVertEfff
3996239962
0x000000710063890c,U,000016,_ZN13BufferBuilder12vertexDoubleEddd
39963-
0x000000710063891c,U,001088,_ZN13BufferBuilder14vertexNoBoundsEfff
39964-
0x0000007100638d5c,U,000028,_ZN13BufferBuilder5colorEii
39965-
0x0000007100638d78,U,000012,
39966-
0x0000007100638d84,U,000028,_ZN13BufferBuilder6offsetEfff
39967-
0x0000007100638da0,U,000008,
39968-
0x0000007100638da8,U,000004,
39963+
0x000000710063891c,M,001088,_ZN13BufferBuilder14vertexNoBoundsEfff
39964+
0x0000007100638d5c,O,000028,_ZN13BufferBuilder5colorEii
39965+
0x0000007100638d78,O,000012,_ZN13BufferBuilder7noColorEv
39966+
0x0000007100638d84,O,000028,_ZN13BufferBuilder6offsetEfff
39967+
0x0000007100638da0,O,000008,_ZN13BufferBuilder14hasMaxVerticesEv
39968+
0x0000007100638da8,O,000004,_ZN13BufferBuilder15setVertexFormatEPK12VertexFormat
3996939969
0x0000007100638dac,U,000120,_ZN13BufferedImageC1Eiii
3997039970
0x0000007100638e24,U,001220,BufferedImage__BufferedImage
3997139971
0x00000071006392e8,U,000948,
@@ -40063,7 +40063,7 @@ Address,Quality,Size,Name
4006340063
0x000000710063d7d8,O,000148,_ZN5Chunk18makeCopyForRebuildEPS_
4006440064
0x000000710063d86c,M,004756,_ZN5Chunk7rebuildEv
4006540065
0x000000710063eb00,O,000040,_ZNSt3__16vectorIN18GlideRingGenerator14eGlideRingSizeENS_9allocatorIS2_EEE2atEm
40066-
0x000000710063eb28,U,000124,_ZN13BufferBuilder6Bounds9addBoundsERS0_
40066+
0x000000710063eb28,O,000124,_ZN13BufferBuilder6Bounds9addBoundsERS0_
4006740067
0x000000710063eba4,M,000604,_ZNSt3__113unordered_mapIiNS_6vectorINS_10shared_ptrI11BlockEntityEENS_9allocatorIS4_EEEE10IntKeyHash8IntKeyEqNS5_INS_4pairIKiS7_EEEEEixERSB_
4006840068
0x000000710063ee00,O,000056,_ZNSt3__113__vector_baseIN18GlideRingGenerator14eGlideRingSizeENS_9allocatorIS2_EEED2Ev
4006940069
0x000000710063ee38,O,000036,_ZN5Chunk7_deleteEv
@@ -41849,7 +41849,7 @@ Address,Quality,Size,Name
4184941849
0x00000071006910cc,U,000044,_Z22PIXSetMarkerDeprecatedfPKcz
4185041850
0x00000071006910f8,U,000004,_Z7XMemCpyPvPKvj
4185141851
0x00000071006910fc,U,000004,
41852-
0x0000007100691100,M,000004,_Z10XMemSet128Pvij
41852+
0x0000007100691100,O,000004,_Z10XMemSet128Pvim
4185341853
0x0000007100691104,O,000004,_Z14XPhysicalAllocmmmj
4185441854
0x0000007100691108,O,000004,_Z13XPhysicalFreePv
4185541855
0x000000710069110c,U,000004,
@@ -42786,7 +42786,7 @@ Address,Quality,Size,Name
4278642786
0x00000071006d6538,O,000068,_Z13sortByTextureRK13MapDecorationS1_
4278742787
0x00000071006d657c,U,000092,
4278842788
0x00000071006d65d8,U,000004,_ZN13MemoryTracker16createByteBufferEi
42789-
0x00000071006d65dc,U,000024,_ZN13MemoryTracker15createIntBufferEi
42789+
0x00000071006d65dc,M,000024,_ZN13MemoryTracker15createIntBufferEi
4279042790
0x00000071006d65f4,U,000096,
4279142791
0x00000071006d6654,U,000056,
4279242792
0x00000071006d668c,U,001128,_ZN13MinecartModelC_gen
@@ -43921,9 +43921,9 @@ Address,Quality,Size,Name
4392143921
0x0000007100704d90,U,000052,
4392243922
0x0000007100704dc4,U,000052,_ZN18PistonHeadRendererC_gen
4392343923
0x0000007100704df8,U,001060,
43924-
0x000000710070521c,U,000016,_ZN10Tesselator11getInstanceEv
43925-
0x000000710070522c,U,000008,_ZNK10Tesselator10getBuilderEv
43926-
0x0000007100705234,U,000008,_ZN10Tesselator3endEv
43924+
0x000000710070521c,O,000016,_ZN10Tesselator11getInstanceEv
43925+
0x000000710070522c,O,000008,_ZNK10Tesselator10getBuilderEv
43926+
0x0000007100705234,O,000008,_ZN10Tesselator3endEv
4392743927
0x000000710070523c,U,000088,
4392843928
0x0000007100705294,U,000196,
4392943929
0x0000007100705358,U,000008,
@@ -44286,7 +44286,7 @@ Address,Quality,Size,Name
4428644286
0x000000710071c274,O,000116,_ZN16ServerChunkCache18isChunkGeneratedAtEii
4428744287
0x000000710071c2e8,O,000008,_ZN16ServerChunkCache18getLoadedChunkListEv
4428844288
0x000000710071c2f0,O,000008,_ZN16ServerChunkCache6createEii
44289-
0x000000710071c2f8,M,000352,_ZN16ServerChunkCache6createEiib
44289+
0x000000710071c2f8,O,000352,_ZN16ServerChunkCache6createEiib
4429044290
0x000000710071c458,O,000612,_ZN16ServerChunkCache22updatePostProcessFlagsEii
4429144291
0x000000710071c6bc,O,000156,_ZN16ServerChunkCache8getChunkEii
4429244292
0x000000710071c758,O,000172,_ZN16ServerChunkCache24getChunkLoadedOrUnloadedEii
@@ -45011,7 +45011,7 @@ Address,Quality,Size,Name
4501145011
0x000000710074db94,U,000108,
4501245012
0x000000710074dc00,U,000168,
4501345013
0x000000710074dca8,O,000076,_ZN10Tesselator22CreateNewThreadStorageEi
45014-
0x000000710074dcf4,U,000076,_ZN10TesselatorC1Ei
45014+
0x000000710074dcf4,O,000076,_ZN10TesselatorC1Ei
4501545015
0x000000710074dd40,U,000008,_ZN7TexOffsC1Eii
4501645016
0x000000710074dd48,U,000408,_ZN7Texture4initERKNSt3__112basic_stringIwNS0_11char_traitsIwEENS0_9allocatorIwEEEEiiiiiiiib
4501745017
0x000000710074dee0,U,000020,

src/4JLibraries_Source/NX/Platform.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ void* XPhysicalAlloc(unsigned long a1, unsigned long a2, unsigned long a3, unsig
77
return malloc(a1);
88
}
99

10-
void XMemSet128(void* ptr, int a2, unsigned int a3) {
10+
void XMemSet128(void* ptr, int a2, size_t a3) {
1111
memset(ptr, a2, a3);
1212
}
1313

src/4JLibraries_Source/NX/Platform.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ typedef long long LARGE_INTEGER;
1515
BOOL QueryPerformanceCounter(LARGE_INTEGER* lpPerformanceCount);
1616

1717
void* XPhysicalAlloc(unsigned long, unsigned long, unsigned long, unsigned int);
18-
void XMemSet128(void*, int, unsigned int);
18+
void XMemSet128(void*, int, size_t);
1919
void XPhysicalFree(void*);
2020

2121
void MemSect(int);

src/4JLibraries_Source/NX/Render/C4JRender.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ class C4JRender {
1111
C4JRender();
1212

1313
enum eVertexType {};
14-
enum ePrimitiveType {};
14+
enum ePrimitiveType {
15+
eViewportType_Quad = 3, // not sure
16+
};
1517
enum ePixelShaderType {};
1618
enum eTextureFormat {};
1719
enum eViewportType {
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#include "net/minecraft/client/renderer/MemoryTracker.h"
2+
3+
// NON_MATCHING implement, this is an hack to match stuff
4+
void* MemoryTracker::createIntBuffer(int size) {
5+
return (void*)(long)size; // yea i know. this is a stub anyway lol
6+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#pragma once
2+
3+
// TODO: this is a placeHolder, move this to somewhere else, and implement it
4+
class MemoryTracker {
5+
public:
6+
static void* createIntBuffer(int size);
7+
};

0 commit comments

Comments
 (0)