jak-project/goalc/build_level/jak1/ambient.cpp
Hat Kid c7c615a043
custom levels: refactor level building code and jak 2 support (#3090)
Co-authored-by: water <awaterford111445@gmail.com>
2023-10-21 06:07:43 +02:00

42 lines
1.1 KiB
C++

#include "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
)
*/
namespace jak1 {
size_t DrawableTreeAmbient::add_to_object_file(DataObjectGenerator& gen, size_t ambient_array) {
gen.align_to_basic();
gen.add_type_tag("drawable-tree-ambient");
size_t result = gen.current_offset_bytes();
gen.add_word(1 << 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_array);
return result;
}
} // namespace jak1