MCPcopy Create free account
hub / github.com/ZDoom/gzdoom / InitThingdef

Function InitThingdef

src/scripting/thingdef_data.cpp:678–899  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

676TArray<UserInfoCVarNamePlayer> LoadGameUserInfoCVars;
677
678void InitThingdef()
679{
680 // Some native types need size and serialization information added before the scripts get compiled.
681 auto secplanestruct = NewStruct("Secplane", nullptr, true);
682 secplanestruct->Size = sizeof(secplane_t);
683 secplanestruct->Align = alignof(secplane_t);
684
685 auto sectorstruct = NewStruct("Sector", nullptr, true);
686 sectorstruct->Size = sizeof(sector_t);
687 sectorstruct->Align = alignof(sector_t);
688 NewPointer(sectorstruct, false)->InstallHandlers(
689 [](FSerializer &ar, const char *key, const void *addr)
690 {
691 ar(key, *(sector_t **)addr);
692 },
693 [](FSerializer &ar, const char *key, void *addr)
694 {
695 Serialize<sector_t>(ar, key, *(sector_t **)addr, nullptr);
696 return true;
697 }
698 );
699
700 auto linestruct = NewStruct("Line", nullptr, true);
701 linestruct->Size = sizeof(line_t);
702 linestruct->Align = alignof(line_t);
703 NewPointer(linestruct, false)->InstallHandlers(
704 [](FSerializer &ar, const char *key, const void *addr)
705 {
706 ar(key, *(line_t **)addr);
707 },
708 [](FSerializer &ar, const char *key, void *addr)
709 {
710 Serialize<line_t>(ar, key, *(line_t **)addr, nullptr);
711 return true;
712 }
713 );
714
715 auto sidestruct = NewStruct("Side", nullptr, true);
716 sidestruct->Size = sizeof(side_t);
717 sidestruct->Align = alignof(side_t);
718 NewPointer(sidestruct, false)->InstallHandlers(
719 [](FSerializer &ar, const char *key, const void *addr)
720 {
721 ar(key, *(side_t **)addr);
722 },
723 [](FSerializer &ar, const char *key, void *addr)
724 {
725 Serialize<side_t>(ar, key, *(side_t **)addr, nullptr);
726 return true;
727 }
728 );
729
730 auto vertstruct = NewStruct("Vertex", nullptr, true);
731 vertstruct->Size = sizeof(vertex_t);
732 vertstruct->Align = alignof(vertex_t);
733 NewPointer(vertstruct, false)->InstallHandlers(
734 [](FSerializer &ar, const char *key, const void *addr)
735 {

Callers 1

LoadActorsFunction · 0.85

Calls 15

NewStructFunction · 0.85
NewPointerFunction · 0.85
InitImportsFunction · 0.85
FindFunctionFunction · 0.85
FindCVarFunction · 0.85
I_ErrorFunction · 0.85
InstallHandlersMethod · 0.80
ShrinkToFitMethod · 0.80
ReadOptionalIntMethod · 0.80
SizeMethod · 0.45
PushMethod · 0.45
BeginObjectMethod · 0.45

Tested by

no test coverage detected