Files
jak-project/goalc/build_level/drawable_ambient.cpp
T

41 lines
1.3 KiB
C++

#include "drawable_ambient.h"
#include "goalc/data_compiler/DataObjectGenerator.h"
/*
(deftype drawable-group (drawable)
((length int16 :offset 6)
(data drawable 1 :offset-assert 32)
)
(:methods
(new (symbol type int) _type_)
)
:flag-assert #x1200000024
)
(deftype drawable-tree (drawable-group)
()
:flag-assert #x1200000024
)
(deftype drawable-inline-array (drawable)
((length int16 :offset 6) ;; this is kinda weird.
)
:method-count-assert 18
:size-assert #x20
:flag-assert #x1200000020
)
*/
size_t DrawableTreeAmbient::add_to_object_file(DataObjectGenerator& gen,
size_t ambient_count,
size_t ambient_arr_slot) const {
gen.align_to_basic();
gen.add_type_tag("drawable-tree-ambient");
size_t result = gen.current_offset_bytes();
gen.add_word(ambient_count << 16); // 4, 6
gen.add_word(0); // 8
gen.add_word(0); // 12
gen.add_word(0); // 16
gen.add_word(0); // 20
gen.add_word(0); // 24
gen.add_word(0); // 28
gen.link_word_to_byte(gen.add_word(0), ambient_arr_slot);
return result;
}