├── .devcontainer ├── Dockerfile └── devcontainer.json ├── .gitignore ├── LICENSE ├── README.md ├── build.zig ├── hello-world.png ├── libc.txt ├── src ├── c.zig └── main.zig ├── vendor └── devkitpro │ ├── devkitPPC │ ├── include │ │ └── gdb │ │ │ └── jit-reader.h │ └── powerpc-eabi │ │ └── include │ │ ├── _ansi.h │ │ ├── _newlib_version.h │ │ ├── _syslist.h │ │ ├── alloca.h │ │ ├── ar.h │ │ ├── argz.h │ │ ├── assert.h │ │ ├── c++ │ │ └── 10.2.0 │ │ │ ├── algorithm │ │ │ ├── any │ │ │ ├── array │ │ │ ├── atomic │ │ │ ├── backward │ │ │ ├── auto_ptr.h │ │ │ ├── backward_warning.h │ │ │ ├── binders.h │ │ │ ├── hash_fun.h │ │ │ ├── hash_map │ │ │ ├── hash_set │ │ │ ├── hashtable.h │ │ │ └── strstream │ │ │ ├── bit │ │ │ ├── bits │ │ │ ├── algorithmfwd.h │ │ │ ├── alloc_traits.h │ │ │ ├── allocated_ptr.h │ │ │ ├── allocator.h │ │ │ ├── atomic_base.h │ │ │ ├── atomic_futex.h │ │ │ ├── atomic_lockfree_defines.h │ │ │ ├── basic_ios.h │ │ │ ├── basic_ios.tcc │ │ │ ├── basic_string.h │ │ │ ├── basic_string.tcc │ │ │ ├── boost_concept_check.h │ │ │ ├── c++0x_warning.h │ │ │ ├── char_traits.h │ │ │ ├── charconv.h │ │ │ ├── codecvt.h │ │ │ ├── concept_check.h │ │ │ ├── cpp_type_traits.h │ │ │ ├── cxxabi_forced.h │ │ │ ├── cxxabi_init_exception.h │ │ │ ├── deque.tcc │ │ │ ├── enable_special_members.h │ │ │ ├── erase_if.h │ │ │ ├── exception.h │ │ │ ├── exception_defines.h │ │ │ ├── exception_ptr.h │ │ │ ├── forward_list.h │ │ │ ├── forward_list.tcc │ │ │ ├── fs_dir.h │ │ │ ├── fs_fwd.h │ │ │ ├── fs_ops.h │ │ │ ├── fs_path.h │ │ │ ├── fstream.tcc │ │ │ ├── functexcept.h │ │ │ ├── functional_hash.h │ │ │ ├── gslice.h │ │ │ ├── gslice_array.h │ │ │ ├── hash_bytes.h │ │ │ ├── hashtable.h │ │ │ ├── hashtable_policy.h │ │ │ ├── indirect_array.h │ │ │ ├── int_limits.h │ │ │ ├── invoke.h │ │ │ ├── ios_base.h │ │ │ ├── istream.tcc │ │ │ ├── iterator_concepts.h │ │ │ ├── list.tcc │ │ │ ├── locale_classes.h │ │ │ ├── locale_classes.tcc │ │ │ ├── locale_conv.h │ │ │ ├── locale_facets.h │ │ │ ├── locale_facets.tcc │ │ │ ├── locale_facets_nonio.h │ │ │ ├── locale_facets_nonio.tcc │ │ │ ├── localefwd.h │ │ │ ├── mask_array.h │ │ │ ├── memoryfwd.h │ │ │ ├── move.h │ │ │ ├── nested_exception.h │ │ │ ├── node_handle.h │ │ │ ├── ostream.tcc │ │ │ ├── ostream_insert.h │ │ │ ├── parse_numbers.h │ │ │ ├── postypes.h │ │ │ ├── predefined_ops.h │ │ │ ├── ptr_traits.h │ │ │ ├── quoted_string.h │ │ │ ├── random.h │ │ │ ├── random.tcc │ │ │ ├── range_access.h │ │ │ ├── range_cmp.h │ │ │ ├── ranges_algo.h │ │ │ ├── ranges_algobase.h │ │ │ ├── ranges_uninitialized.h │ │ │ ├── refwrap.h │ │ │ ├── regex.h │ │ │ ├── regex.tcc │ │ │ ├── regex_automaton.h │ │ │ ├── regex_automaton.tcc │ │ │ ├── regex_compiler.h │ │ │ ├── regex_compiler.tcc │ │ │ ├── regex_constants.h │ │ │ ├── regex_error.h │ │ │ ├── regex_executor.h │ │ │ ├── regex_executor.tcc │ │ │ ├── regex_scanner.h │ │ │ ├── regex_scanner.tcc │ │ │ ├── shared_ptr.h │ │ │ ├── shared_ptr_atomic.h │ │ │ ├── shared_ptr_base.h │ │ │ ├── slice_array.h │ │ │ ├── specfun.h │ │ │ ├── sstream.tcc │ │ │ ├── std_abs.h │ │ │ ├── std_function.h │ │ │ ├── std_mutex.h │ │ │ ├── stl_algo.h │ │ │ ├── stl_algobase.h │ │ │ ├── stl_bvector.h │ │ │ ├── stl_construct.h │ │ │ ├── stl_deque.h │ │ │ ├── stl_function.h │ │ │ ├── stl_heap.h │ │ │ ├── stl_iterator.h │ │ │ ├── stl_iterator_base_funcs.h │ │ │ ├── stl_iterator_base_types.h │ │ │ ├── stl_list.h │ │ │ ├── stl_map.h │ │ │ ├── stl_multimap.h │ │ │ ├── stl_multiset.h │ │ │ ├── stl_numeric.h │ │ │ ├── stl_pair.h │ │ │ ├── stl_queue.h │ │ │ ├── stl_raw_storage_iter.h │ │ │ ├── stl_relops.h │ │ │ ├── stl_set.h │ │ │ ├── stl_stack.h │ │ │ ├── stl_tempbuf.h │ │ │ ├── stl_tree.h │ │ │ ├── stl_uninitialized.h │ │ │ ├── stl_vector.h │ │ │ ├── stream_iterator.h │ │ │ ├── streambuf.tcc │ │ │ ├── streambuf_iterator.h │ │ │ ├── string_view.tcc │ │ │ ├── stringfwd.h │ │ │ ├── uniform_int_dist.h │ │ │ ├── unique_lock.h │ │ │ ├── unique_ptr.h │ │ │ ├── unordered_map.h │ │ │ ├── unordered_set.h │ │ │ ├── uses_allocator.h │ │ │ ├── valarray_after.h │ │ │ ├── valarray_array.h │ │ │ ├── valarray_array.tcc │ │ │ ├── valarray_before.h │ │ │ └── vector.tcc │ │ │ ├── bitset │ │ │ ├── cassert │ │ │ ├── ccomplex │ │ │ ├── cctype │ │ │ ├── cerrno │ │ │ ├── cfenv │ │ │ ├── cfloat │ │ │ ├── charconv │ │ │ ├── chrono │ │ │ ├── cinttypes │ │ │ ├── ciso646 │ │ │ ├── climits │ │ │ ├── clocale │ │ │ ├── cmath │ │ │ ├── codecvt │ │ │ ├── compare │ │ │ ├── complex │ │ │ ├── complex.h │ │ │ ├── concepts │ │ │ ├── condition_variable │ │ │ ├── coroutine │ │ │ ├── csetjmp │ │ │ ├── csignal │ │ │ ├── cstdalign │ │ │ ├── cstdarg │ │ │ ├── cstdbool │ │ │ ├── cstddef │ │ │ ├── cstdint │ │ │ ├── cstdio │ │ │ ├── cstdlib │ │ │ ├── cstring │ │ │ ├── ctgmath │ │ │ ├── ctime │ │ │ ├── cuchar │ │ │ ├── cwchar │ │ │ ├── cwctype │ │ │ ├── cxxabi.h │ │ │ ├── debug │ │ │ ├── array │ │ │ ├── assertions.h │ │ │ ├── bitset │ │ │ ├── debug.h │ │ │ ├── deque │ │ │ ├── formatter.h │ │ │ ├── forward_list │ │ │ ├── functions.h │ │ │ ├── helper_functions.h │ │ │ ├── list │ │ │ ├── macros.h │ │ │ ├── map │ │ │ ├── map.h │ │ │ ├── multimap.h │ │ │ ├── multiset.h │ │ │ ├── safe_base.h │ │ │ ├── safe_container.h │ │ │ ├── safe_iterator.h │ │ │ ├── safe_iterator.tcc │ │ │ ├── safe_local_iterator.h │ │ │ ├── safe_local_iterator.tcc │ │ │ ├── safe_sequence.h │ │ │ ├── safe_sequence.tcc │ │ │ ├── safe_unordered_base.h │ │ │ ├── safe_unordered_container.h │ │ │ ├── safe_unordered_container.tcc │ │ │ ├── set │ │ │ ├── set.h │ │ │ ├── stl_iterator.h │ │ │ ├── string │ │ │ ├── unordered_map │ │ │ ├── unordered_set │ │ │ └── vector │ │ │ ├── decimal │ │ │ ├── decimal │ │ │ └── decimal.h │ │ │ ├── deque │ │ │ ├── exception │ │ │ ├── execution │ │ │ ├── experimental │ │ │ ├── algorithm │ │ │ ├── any │ │ │ ├── array │ │ │ ├── bits │ │ │ │ ├── fs_dir.h │ │ │ │ ├── fs_fwd.h │ │ │ │ ├── fs_ops.h │ │ │ │ ├── fs_path.h │ │ │ │ ├── lfts_config.h │ │ │ │ ├── net.h │ │ │ │ ├── shared_ptr.h │ │ │ │ └── string_view.tcc │ │ │ ├── buffer │ │ │ ├── chrono │ │ │ ├── deque │ │ │ ├── executor │ │ │ ├── filesystem │ │ │ ├── forward_list │ │ │ ├── functional │ │ │ ├── internet │ │ │ ├── io_context │ │ │ ├── iterator │ │ │ ├── list │ │ │ ├── map │ │ │ ├── memory │ │ │ ├── memory_resource │ │ │ ├── net │ │ │ ├── netfwd │ │ │ ├── numeric │ │ │ ├── optional │ │ │ ├── propagate_const │ │ │ ├── random │ │ │ ├── ratio │ │ │ ├── regex │ │ │ ├── set │ │ │ ├── socket │ │ │ ├── source_location │ │ │ ├── string │ │ │ ├── string_view │ │ │ ├── system_error │ │ │ ├── timer │ │ │ ├── tuple │ │ │ ├── type_traits │ │ │ ├── unordered_map │ │ │ ├── unordered_set │ │ │ ├── utility │ │ │ └── vector │ │ │ ├── ext │ │ │ ├── algorithm │ │ │ ├── aligned_buffer.h │ │ │ ├── alloc_traits.h │ │ │ ├── atomicity.h │ │ │ ├── bitmap_allocator.h │ │ │ ├── cast.h │ │ │ ├── cmath │ │ │ ├── codecvt_specializations.h │ │ │ ├── concurrence.h │ │ │ ├── debug_allocator.h │ │ │ ├── enc_filebuf.h │ │ │ ├── extptr_allocator.h │ │ │ ├── functional │ │ │ ├── hash_map │ │ │ ├── hash_set │ │ │ ├── iterator │ │ │ ├── malloc_allocator.h │ │ │ ├── memory │ │ │ ├── mt_allocator.h │ │ │ ├── new_allocator.h │ │ │ ├── numeric │ │ │ ├── numeric_traits.h │ │ │ ├── pb_ds │ │ │ │ ├── assoc_container.hpp │ │ │ │ ├── detail │ │ │ │ │ ├── bin_search_tree_ │ │ │ │ │ │ ├── bin_search_tree_.hpp │ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp │ │ │ │ │ │ ├── debug_fn_imps.hpp │ │ │ │ │ │ ├── erase_fn_imps.hpp │ │ │ │ │ │ ├── find_fn_imps.hpp │ │ │ │ │ │ ├── info_fn_imps.hpp │ │ │ │ │ │ ├── insert_fn_imps.hpp │ │ │ │ │ │ ├── iterators_fn_imps.hpp │ │ │ │ │ │ ├── node_iterators.hpp │ │ │ │ │ │ ├── point_iterators.hpp │ │ │ │ │ │ ├── policy_access_fn_imps.hpp │ │ │ │ │ │ ├── r_erase_fn_imps.hpp │ │ │ │ │ │ ├── rotate_fn_imps.hpp │ │ │ │ │ │ ├── split_join_fn_imps.hpp │ │ │ │ │ │ └── traits.hpp │ │ │ │ │ ├── binary_heap_ │ │ │ │ │ │ ├── binary_heap_.hpp │ │ │ │ │ │ ├── const_iterator.hpp │ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp │ │ │ │ │ │ ├── debug_fn_imps.hpp │ │ │ │ │ │ ├── entry_cmp.hpp │ │ │ │ │ │ ├── entry_pred.hpp │ │ │ │ │ │ ├── erase_fn_imps.hpp │ │ │ │ │ │ ├── find_fn_imps.hpp │ │ │ │ │ │ ├── info_fn_imps.hpp │ │ │ │ │ │ ├── insert_fn_imps.hpp │ │ │ │ │ │ ├── iterators_fn_imps.hpp │ │ │ │ │ │ ├── point_const_iterator.hpp │ │ │ │ │ │ ├── policy_access_fn_imps.hpp │ │ │ │ │ │ ├── resize_policy.hpp │ │ │ │ │ │ ├── split_join_fn_imps.hpp │ │ │ │ │ │ └── trace_fn_imps.hpp │ │ │ │ │ ├── binomial_heap_ │ │ │ │ │ │ ├── binomial_heap_.hpp │ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp │ │ │ │ │ │ └── debug_fn_imps.hpp │ │ │ │ │ ├── binomial_heap_base_ │ │ │ │ │ │ ├── binomial_heap_base_.hpp │ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp │ │ │ │ │ │ ├── debug_fn_imps.hpp │ │ │ │ │ │ ├── erase_fn_imps.hpp │ │ │ │ │ │ ├── find_fn_imps.hpp │ │ │ │ │ │ ├── insert_fn_imps.hpp │ │ │ │ │ │ └── split_join_fn_imps.hpp │ │ │ │ │ ├── branch_policy │ │ │ │ │ │ ├── branch_policy.hpp │ │ │ │ │ │ ├── null_node_metadata.hpp │ │ │ │ │ │ └── traits.hpp │ │ │ │ │ ├── cc_hash_table_map_ │ │ │ │ │ │ ├── cc_ht_map_.hpp │ │ │ │ │ │ ├── cmp_fn_imps.hpp │ │ │ │ │ │ ├── cond_key_dtor_entry_dealtor.hpp │ │ │ │ │ │ ├── constructor_destructor_fn_imps.hpp │ │ │ │ │ │ ├── constructor_destructor_no_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── constructor_destructor_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── debug_fn_imps.hpp │ │ │ │ │ │ ├── debug_no_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── debug_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── entry_list_fn_imps.hpp │ │ │ │ │ │ ├── erase_fn_imps.hpp │ │ │ │ │ │ ├── erase_no_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── erase_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── find_fn_imps.hpp │ │ │ │ │ │ ├── find_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── info_fn_imps.hpp │ │ │ │ │ │ ├── insert_fn_imps.hpp │ │ │ │ │ │ ├── insert_no_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── insert_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── iterators_fn_imps.hpp │ │ │ │ │ │ ├── policy_access_fn_imps.hpp │ │ │ │ │ │ ├── resize_fn_imps.hpp │ │ │ │ │ │ ├── resize_no_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── resize_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── size_fn_imps.hpp │ │ │ │ │ │ └── trace_fn_imps.hpp │ │ │ │ │ ├── cond_dealtor.hpp │ │ │ │ │ ├── container_base_dispatch.hpp │ │ │ │ │ ├── debug_map_base.hpp │ │ │ │ │ ├── eq_fn │ │ │ │ │ │ ├── eq_by_less.hpp │ │ │ │ │ │ └── hash_eq_fn.hpp │ │ │ │ │ ├── gp_hash_table_map_ │ │ │ │ │ │ ├── constructor_destructor_fn_imps.hpp │ │ │ │ │ │ ├── constructor_destructor_no_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── constructor_destructor_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── debug_fn_imps.hpp │ │ │ │ │ │ ├── debug_no_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── debug_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── erase_fn_imps.hpp │ │ │ │ │ │ ├── erase_no_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── erase_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── find_fn_imps.hpp │ │ │ │ │ │ ├── find_no_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── find_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── gp_ht_map_.hpp │ │ │ │ │ │ ├── info_fn_imps.hpp │ │ │ │ │ │ ├── insert_fn_imps.hpp │ │ │ │ │ │ ├── insert_no_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── insert_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── iterator_fn_imps.hpp │ │ │ │ │ │ ├── policy_access_fn_imps.hpp │ │ │ │ │ │ ├── resize_fn_imps.hpp │ │ │ │ │ │ ├── resize_no_store_hash_fn_imps.hpp │ │ │ │ │ │ ├── resize_store_hash_fn_imps.hpp │ │ │ │ │ │ └── trace_fn_imps.hpp │ │ │ │ │ ├── hash_fn │ │ │ │ │ │ ├── direct_mask_range_hashing_imp.hpp │ │ │ │ │ │ ├── direct_mod_range_hashing_imp.hpp │ │ │ │ │ │ ├── linear_probe_fn_imp.hpp │ │ │ │ │ │ ├── mask_based_range_hashing.hpp │ │ │ │ │ │ ├── mod_based_range_hashing.hpp │ │ │ │ │ │ ├── probe_fn_base.hpp │ │ │ │ │ │ ├── quadratic_probe_fn_imp.hpp │ │ │ │ │ │ ├── ranged_hash_fn.hpp │ │ │ │ │ │ ├── ranged_probe_fn.hpp │ │ │ │ │ │ ├── sample_probe_fn.hpp │ │ │ │ │ │ ├── sample_range_hashing.hpp │ │ │ │ │ │ ├── sample_ranged_hash_fn.hpp │ │ │ │ │ │ └── sample_ranged_probe_fn.hpp │ │ │ │ │ ├── left_child_next_sibling_heap_ │ │ │ │ │ │ ├── const_iterator.hpp │ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp │ │ │ │ │ │ ├── debug_fn_imps.hpp │ │ │ │ │ │ ├── erase_fn_imps.hpp │ │ │ │ │ │ ├── info_fn_imps.hpp │ │ │ │ │ │ ├── insert_fn_imps.hpp │ │ │ │ │ │ ├── iterators_fn_imps.hpp │ │ │ │ │ │ ├── left_child_next_sibling_heap_.hpp │ │ │ │ │ │ ├── node.hpp │ │ │ │ │ │ ├── point_const_iterator.hpp │ │ │ │ │ │ ├── policy_access_fn_imps.hpp │ │ │ │ │ │ └── trace_fn_imps.hpp │ │ │ │ │ ├── list_update_map_ │ │ │ │ │ │ ├── constructor_destructor_fn_imps.hpp │ │ │ │ │ │ ├── debug_fn_imps.hpp │ │ │ │ │ │ ├── entry_metadata_base.hpp │ │ │ │ │ │ ├── erase_fn_imps.hpp │ │ │ │ │ │ ├── find_fn_imps.hpp │ │ │ │ │ │ ├── info_fn_imps.hpp │ │ │ │ │ │ ├── insert_fn_imps.hpp │ │ │ │ │ │ ├── iterators_fn_imps.hpp │ │ │ │ │ │ ├── lu_map_.hpp │ │ │ │ │ │ └── trace_fn_imps.hpp │ │ │ │ │ ├── list_update_policy │ │ │ │ │ │ ├── lu_counter_metadata.hpp │ │ │ │ │ │ └── sample_update_policy.hpp │ │ │ │ │ ├── ov_tree_map_ │ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp │ │ │ │ │ │ ├── debug_fn_imps.hpp │ │ │ │ │ │ ├── erase_fn_imps.hpp │ │ │ │ │ │ ├── info_fn_imps.hpp │ │ │ │ │ │ ├── insert_fn_imps.hpp │ │ │ │ │ │ ├── iterators_fn_imps.hpp │ │ │ │ │ │ ├── node_iterators.hpp │ │ │ │ │ │ ├── ov_tree_map_.hpp │ │ │ │ │ │ ├── policy_access_fn_imps.hpp │ │ │ │ │ │ ├── split_join_fn_imps.hpp │ │ │ │ │ │ └── traits.hpp │ │ │ │ │ ├── pairing_heap_ │ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp │ │ │ │ │ │ ├── debug_fn_imps.hpp │ │ │ │ │ │ ├── erase_fn_imps.hpp │ │ │ │ │ │ ├── find_fn_imps.hpp │ │ │ │ │ │ ├── insert_fn_imps.hpp │ │ │ │ │ │ ├── pairing_heap_.hpp │ │ │ │ │ │ └── split_join_fn_imps.hpp │ │ │ │ │ ├── pat_trie_ │ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp │ │ │ │ │ │ ├── debug_fn_imps.hpp │ │ │ │ │ │ ├── erase_fn_imps.hpp │ │ │ │ │ │ ├── find_fn_imps.hpp │ │ │ │ │ │ ├── info_fn_imps.hpp │ │ │ │ │ │ ├── insert_join_fn_imps.hpp │ │ │ │ │ │ ├── iterators_fn_imps.hpp │ │ │ │ │ │ ├── pat_trie_.hpp │ │ │ │ │ │ ├── pat_trie_base.hpp │ │ │ │ │ │ ├── policy_access_fn_imps.hpp │ │ │ │ │ │ ├── r_erase_fn_imps.hpp │ │ │ │ │ │ ├── rotate_fn_imps.hpp │ │ │ │ │ │ ├── split_fn_imps.hpp │ │ │ │ │ │ ├── synth_access_traits.hpp │ │ │ │ │ │ ├── trace_fn_imps.hpp │ │ │ │ │ │ ├── traits.hpp │ │ │ │ │ │ └── update_fn_imps.hpp │ │ │ │ │ ├── priority_queue_base_dispatch.hpp │ │ │ │ │ ├── rb_tree_map_ │ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp │ │ │ │ │ │ ├── debug_fn_imps.hpp │ │ │ │ │ │ ├── erase_fn_imps.hpp │ │ │ │ │ │ ├── find_fn_imps.hpp │ │ │ │ │ │ ├── info_fn_imps.hpp │ │ │ │ │ │ ├── insert_fn_imps.hpp │ │ │ │ │ │ ├── node.hpp │ │ │ │ │ │ ├── rb_tree_.hpp │ │ │ │ │ │ ├── split_join_fn_imps.hpp │ │ │ │ │ │ └── traits.hpp │ │ │ │ │ ├── rc_binomial_heap_ │ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp │ │ │ │ │ │ ├── debug_fn_imps.hpp │ │ │ │ │ │ ├── erase_fn_imps.hpp │ │ │ │ │ │ ├── insert_fn_imps.hpp │ │ │ │ │ │ ├── rc.hpp │ │ │ │ │ │ ├── rc_binomial_heap_.hpp │ │ │ │ │ │ ├── split_join_fn_imps.hpp │ │ │ │ │ │ └── trace_fn_imps.hpp │ │ │ │ │ ├── resize_policy │ │ │ │ │ │ ├── cc_hash_max_collision_check_resize_trigger_imp.hpp │ │ │ │ │ │ ├── hash_exponential_size_policy_imp.hpp │ │ │ │ │ │ ├── hash_load_check_resize_trigger_imp.hpp │ │ │ │ │ │ ├── hash_load_check_resize_trigger_size_base.hpp │ │ │ │ │ │ ├── hash_prime_size_policy_imp.hpp │ │ │ │ │ │ ├── hash_standard_resize_policy_imp.hpp │ │ │ │ │ │ ├── sample_resize_policy.hpp │ │ │ │ │ │ ├── sample_resize_trigger.hpp │ │ │ │ │ │ └── sample_size_policy.hpp │ │ │ │ │ ├── splay_tree_ │ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp │ │ │ │ │ │ ├── debug_fn_imps.hpp │ │ │ │ │ │ ├── erase_fn_imps.hpp │ │ │ │ │ │ ├── find_fn_imps.hpp │ │ │ │ │ │ ├── info_fn_imps.hpp │ │ │ │ │ │ ├── insert_fn_imps.hpp │ │ │ │ │ │ ├── node.hpp │ │ │ │ │ │ ├── splay_fn_imps.hpp │ │ │ │ │ │ ├── splay_tree_.hpp │ │ │ │ │ │ ├── split_join_fn_imps.hpp │ │ │ │ │ │ └── traits.hpp │ │ │ │ │ ├── standard_policies.hpp │ │ │ │ │ ├── thin_heap_ │ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp │ │ │ │ │ │ ├── debug_fn_imps.hpp │ │ │ │ │ │ ├── erase_fn_imps.hpp │ │ │ │ │ │ ├── find_fn_imps.hpp │ │ │ │ │ │ ├── insert_fn_imps.hpp │ │ │ │ │ │ ├── split_join_fn_imps.hpp │ │ │ │ │ │ ├── thin_heap_.hpp │ │ │ │ │ │ └── trace_fn_imps.hpp │ │ │ │ │ ├── tree_policy │ │ │ │ │ │ ├── node_metadata_selector.hpp │ │ │ │ │ │ ├── order_statistics_imp.hpp │ │ │ │ │ │ └── sample_tree_node_update.hpp │ │ │ │ │ ├── tree_trace_base.hpp │ │ │ │ │ ├── trie_policy │ │ │ │ │ │ ├── node_metadata_selector.hpp │ │ │ │ │ │ ├── order_statistics_imp.hpp │ │ │ │ │ │ ├── prefix_search_node_update_imp.hpp │ │ │ │ │ │ ├── sample_trie_access_traits.hpp │ │ │ │ │ │ ├── sample_trie_node_update.hpp │ │ │ │ │ │ ├── trie_policy_base.hpp │ │ │ │ │ │ └── trie_string_access_traits_imp.hpp │ │ │ │ │ ├── type_utils.hpp │ │ │ │ │ ├── types_traits.hpp │ │ │ │ │ └── unordered_iterator │ │ │ │ │ │ ├── const_iterator.hpp │ │ │ │ │ │ ├── iterator.hpp │ │ │ │ │ │ ├── point_const_iterator.hpp │ │ │ │ │ │ └── point_iterator.hpp │ │ │ │ ├── exception.hpp │ │ │ │ ├── hash_policy.hpp │ │ │ │ ├── list_update_policy.hpp │ │ │ │ ├── priority_queue.hpp │ │ │ │ ├── tag_and_trait.hpp │ │ │ │ ├── tree_policy.hpp │ │ │ │ └── trie_policy.hpp │ │ │ ├── pod_char_traits.h │ │ │ ├── pointer.h │ │ │ ├── pool_allocator.h │ │ │ ├── random │ │ │ ├── random.tcc │ │ │ ├── rb_tree │ │ │ ├── rc_string_base.h │ │ │ ├── rope │ │ │ ├── ropeimpl.h │ │ │ ├── slist │ │ │ ├── sso_string_base.h │ │ │ ├── stdio_filebuf.h │ │ │ ├── stdio_sync_filebuf.h │ │ │ ├── string_conversions.h │ │ │ ├── throw_allocator.h │ │ │ ├── type_traits.h │ │ │ ├── typelist.h │ │ │ ├── vstring.h │ │ │ ├── vstring.tcc │ │ │ ├── vstring_fwd.h │ │ │ └── vstring_util.h │ │ │ ├── fenv.h │ │ │ ├── filesystem │ │ │ ├── forward_list │ │ │ ├── fstream │ │ │ ├── functional │ │ │ ├── future │ │ │ ├── initializer_list │ │ │ ├── iomanip │ │ │ ├── ios │ │ │ ├── iosfwd │ │ │ ├── iostream │ │ │ ├── istream │ │ │ ├── iterator │ │ │ ├── limits │ │ │ ├── list │ │ │ ├── locale │ │ │ ├── map │ │ │ ├── math.h │ │ │ ├── memory │ │ │ ├── memory_resource │ │ │ ├── mutex │ │ │ ├── new │ │ │ ├── numbers │ │ │ ├── numeric │ │ │ ├── optional │ │ │ ├── ostream │ │ │ ├── parallel │ │ │ ├── algo.h │ │ │ ├── algobase.h │ │ │ ├── algorithm │ │ │ ├── algorithmfwd.h │ │ │ ├── balanced_quicksort.h │ │ │ ├── base.h │ │ │ ├── basic_iterator.h │ │ │ ├── checkers.h │ │ │ ├── compatibility.h │ │ │ ├── compiletime_settings.h │ │ │ ├── equally_split.h │ │ │ ├── features.h │ │ │ ├── find.h │ │ │ ├── find_selectors.h │ │ │ ├── for_each.h │ │ │ ├── for_each_selectors.h │ │ │ ├── iterator.h │ │ │ ├── list_partition.h │ │ │ ├── losertree.h │ │ │ ├── merge.h │ │ │ ├── multiseq_selection.h │ │ │ ├── multiway_merge.h │ │ │ ├── multiway_mergesort.h │ │ │ ├── numeric │ │ │ ├── numericfwd.h │ │ │ ├── omp_loop.h │ │ │ ├── omp_loop_static.h │ │ │ ├── par_loop.h │ │ │ ├── parallel.h │ │ │ ├── partial_sum.h │ │ │ ├── partition.h │ │ │ ├── queue.h │ │ │ ├── quicksort.h │ │ │ ├── random_number.h │ │ │ ├── random_shuffle.h │ │ │ ├── search.h │ │ │ ├── set_operations.h │ │ │ ├── settings.h │ │ │ ├── sort.h │ │ │ ├── tags.h │ │ │ ├── types.h │ │ │ ├── unique_copy.h │ │ │ └── workstealing.h │ │ │ ├── powerpc-eabi │ │ │ ├── bits │ │ │ │ ├── atomic_word.h │ │ │ │ ├── basic_file.h │ │ │ │ ├── c++allocator.h │ │ │ │ ├── c++config.h │ │ │ │ ├── c++io.h │ │ │ │ ├── c++locale.h │ │ │ │ ├── cpu_defines.h │ │ │ │ ├── ctype_base.h │ │ │ │ ├── ctype_inline.h │ │ │ │ ├── cxxabi_tweaks.h │ │ │ │ ├── error_constants.h │ │ │ │ ├── extc++.h │ │ │ │ ├── gthr-default.h │ │ │ │ ├── gthr-posix.h │ │ │ │ ├── gthr-single.h │ │ │ │ ├── gthr.h │ │ │ │ ├── messages_members.h │ │ │ │ ├── opt_random.h │ │ │ │ ├── os_defines.h │ │ │ │ ├── stdc++.h │ │ │ │ ├── stdtr1c++.h │ │ │ │ └── time_members.h │ │ │ └── ext │ │ │ │ └── opt_random.h │ │ │ ├── pstl │ │ │ ├── algorithm_fwd.h │ │ │ ├── algorithm_impl.h │ │ │ ├── execution_defs.h │ │ │ ├── execution_impl.h │ │ │ ├── glue_algorithm_defs.h │ │ │ ├── glue_algorithm_impl.h │ │ │ ├── glue_execution_defs.h │ │ │ ├── glue_memory_defs.h │ │ │ ├── glue_memory_impl.h │ │ │ ├── glue_numeric_defs.h │ │ │ ├── glue_numeric_impl.h │ │ │ ├── memory_impl.h │ │ │ ├── numeric_fwd.h │ │ │ ├── numeric_impl.h │ │ │ ├── parallel_backend.h │ │ │ ├── parallel_backend_serial.h │ │ │ ├── parallel_backend_tbb.h │ │ │ ├── parallel_backend_utils.h │ │ │ ├── parallel_impl.h │ │ │ ├── pstl_config.h │ │ │ ├── unseq_backend_simd.h │ │ │ └── utils.h │ │ │ ├── queue │ │ │ ├── random │ │ │ ├── ranges │ │ │ ├── ratio │ │ │ ├── regex │ │ │ ├── scoped_allocator │ │ │ ├── set │ │ │ ├── shared_mutex │ │ │ ├── span │ │ │ ├── sstream │ │ │ ├── stack │ │ │ ├── stdexcept │ │ │ ├── stdlib.h │ │ │ ├── stop_token │ │ │ ├── streambuf │ │ │ ├── string │ │ │ ├── string_view │ │ │ ├── system_error │ │ │ ├── tgmath.h │ │ │ ├── thread │ │ │ ├── tr1 │ │ │ ├── array │ │ │ ├── bessel_function.tcc │ │ │ ├── beta_function.tcc │ │ │ ├── ccomplex │ │ │ ├── cctype │ │ │ ├── cfenv │ │ │ ├── cfloat │ │ │ ├── cinttypes │ │ │ ├── climits │ │ │ ├── cmath │ │ │ ├── complex │ │ │ ├── complex.h │ │ │ ├── cstdarg │ │ │ ├── cstdbool │ │ │ ├── cstdint │ │ │ ├── cstdio │ │ │ ├── cstdlib │ │ │ ├── ctgmath │ │ │ ├── ctime │ │ │ ├── ctype.h │ │ │ ├── cwchar │ │ │ ├── cwctype │ │ │ ├── ell_integral.tcc │ │ │ ├── exp_integral.tcc │ │ │ ├── fenv.h │ │ │ ├── float.h │ │ │ ├── functional │ │ │ ├── functional_hash.h │ │ │ ├── gamma.tcc │ │ │ ├── hashtable.h │ │ │ ├── hashtable_policy.h │ │ │ ├── hypergeometric.tcc │ │ │ ├── inttypes.h │ │ │ ├── legendre_function.tcc │ │ │ ├── limits.h │ │ │ ├── math.h │ │ │ ├── memory │ │ │ ├── modified_bessel_func.tcc │ │ │ ├── poly_hermite.tcc │ │ │ ├── poly_laguerre.tcc │ │ │ ├── random │ │ │ ├── random.h │ │ │ ├── random.tcc │ │ │ ├── regex │ │ │ ├── riemann_zeta.tcc │ │ │ ├── shared_ptr.h │ │ │ ├── special_function_util.h │ │ │ ├── stdarg.h │ │ │ ├── stdbool.h │ │ │ ├── stdint.h │ │ │ ├── stdio.h │ │ │ ├── stdlib.h │ │ │ ├── tgmath.h │ │ │ ├── tuple │ │ │ ├── type_traits │ │ │ ├── unordered_map │ │ │ ├── unordered_map.h │ │ │ ├── unordered_set │ │ │ ├── unordered_set.h │ │ │ ├── utility │ │ │ ├── wchar.h │ │ │ └── wctype.h │ │ │ ├── tr2 │ │ │ ├── bool_set │ │ │ ├── bool_set.tcc │ │ │ ├── dynamic_bitset │ │ │ ├── dynamic_bitset.tcc │ │ │ ├── ratio │ │ │ └── type_traits │ │ │ ├── tuple │ │ │ ├── type_traits │ │ │ ├── typeindex │ │ │ ├── typeinfo │ │ │ ├── unordered_map │ │ │ ├── unordered_set │ │ │ ├── utility │ │ │ ├── valarray │ │ │ ├── variant │ │ │ ├── vector │ │ │ └── version │ │ ├── complex.h │ │ ├── cpio.h │ │ ├── ctype.h │ │ ├── devctl.h │ │ ├── dirent.h │ │ ├── elf.h │ │ ├── envlock.h │ │ ├── envz.h │ │ ├── errno.h │ │ ├── fastmath.h │ │ ├── fcntl.h │ │ ├── fenv.h │ │ ├── fnmatch.h │ │ ├── getopt.h │ │ ├── glob.h │ │ ├── grp.h │ │ ├── iconv.h │ │ ├── ieeefp.h │ │ ├── inttypes.h │ │ ├── langinfo.h │ │ ├── libgen.h │ │ ├── limits.h │ │ ├── locale.h │ │ ├── machine │ │ ├── _arc4random.h │ │ ├── _default_types.h │ │ ├── _endian.h │ │ ├── _time.h │ │ ├── _types.h │ │ ├── ansi.h │ │ ├── endian.h │ │ ├── fastmath.h │ │ ├── ieeefp.h │ │ ├── malloc.h │ │ ├── param.h │ │ ├── setjmp-dj.h │ │ ├── setjmp.h │ │ ├── stdlib.h │ │ ├── termios.h │ │ ├── time.h │ │ └── types.h │ │ ├── malloc.h │ │ ├── math.h │ │ ├── memory.h │ │ ├── ndbm.h │ │ ├── newlib.h │ │ ├── paths.h │ │ ├── pthread.h │ │ ├── pwd.h │ │ ├── reent.h │ │ ├── regdef.h │ │ ├── regex.h │ │ ├── sched.h │ │ ├── search.h │ │ ├── setjmp.h │ │ ├── signal.h │ │ ├── spawn.h │ │ ├── ssp │ │ ├── ssp.h │ │ ├── stdio.h │ │ ├── stdlib.h │ │ ├── string.h │ │ ├── strings.h │ │ ├── unistd.h │ │ └── wchar.h │ │ ├── stdatomic.h │ │ ├── stdint.h │ │ ├── stdio.h │ │ ├── stdio_ext.h │ │ ├── stdlib.h │ │ ├── string.h │ │ ├── strings.h │ │ ├── sys │ │ ├── _default_fcntl.h │ │ ├── _intsup.h │ │ ├── _locale.h │ │ ├── _pthreadtypes.h │ │ ├── _sigset.h │ │ ├── _stdint.h │ │ ├── _timespec.h │ │ ├── _timeval.h │ │ ├── _types.h │ │ ├── cdefs.h │ │ ├── config.h │ │ ├── custom_file.h │ │ ├── dir.h │ │ ├── dirent.h │ │ ├── errno.h │ │ ├── fcntl.h │ │ ├── features.h │ │ ├── fenv.h │ │ ├── file.h │ │ ├── iconvnls.h │ │ ├── iosupport.h │ │ ├── lock.h │ │ ├── param.h │ │ ├── queue.h │ │ ├── reent.h │ │ ├── resource.h │ │ ├── sched.h │ │ ├── select.h │ │ ├── signal.h │ │ ├── stat.h │ │ ├── statvfs.h │ │ ├── stdio.h │ │ ├── string.h │ │ ├── syslimits.h │ │ ├── time.h │ │ ├── timeb.h │ │ ├── times.h │ │ ├── timespec.h │ │ ├── tree.h │ │ ├── types.h │ │ ├── unistd.h │ │ ├── utime.h │ │ └── wait.h │ │ ├── tar.h │ │ ├── termios.h │ │ ├── tgmath.h │ │ ├── threads.h │ │ ├── time.h │ │ ├── unctrl.h │ │ ├── unistd.h │ │ ├── utime.h │ │ ├── utmp.h │ │ ├── wchar.h │ │ ├── wctype.h │ │ └── wordexp.h │ ├── examples │ ├── gamecube │ │ ├── Makefile │ │ ├── audio │ │ │ ├── modplay │ │ │ │ ├── Makefile │ │ │ │ ├── data │ │ │ │ │ └── technique.mod │ │ │ │ └── source │ │ │ │ │ └── template.c │ │ │ ├── mp3player │ │ │ │ ├── Makefile │ │ │ │ ├── data │ │ │ │ │ └── sample.mp3 │ │ │ │ └── source │ │ │ │ │ └── template.c │ │ │ └── oggplayer │ │ │ │ ├── Makefile │ │ │ │ ├── data │ │ │ │ └── sample.ogg │ │ │ │ └── source │ │ │ │ ├── oggplayer.c │ │ │ │ ├── oggplayer.h │ │ │ │ └── template.c │ │ ├── devices │ │ │ ├── dvd │ │ │ │ ├── Makefile │ │ │ │ └── readsector │ │ │ │ │ ├── Makefile │ │ │ │ │ └── source │ │ │ │ │ └── dvd.c │ │ │ ├── memcard │ │ │ │ └── MemCardDemo │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── MemCardDemo.prj │ │ │ │ │ └── source │ │ │ │ │ └── main.c │ │ │ ├── network │ │ │ │ ├── Makefile │ │ │ │ ├── gdbstub │ │ │ │ │ ├── Makefile │ │ │ │ │ └── source │ │ │ │ │ │ └── gdbstub.c │ │ │ │ └── sockettest │ │ │ │ │ ├── Makefile │ │ │ │ │ └── source │ │ │ │ │ └── sockettest.c │ │ │ └── usbgecko │ │ │ │ ├── Makefile │ │ │ │ └── gdbstub │ │ │ │ ├── Makefile │ │ │ │ └── source │ │ │ │ └── gdbstub.c │ │ ├── filesystem │ │ │ └── directory │ │ │ │ ├── Makefile │ │ │ │ └── source │ │ │ │ └── directory.c │ │ ├── graphics │ │ │ ├── fb │ │ │ │ ├── consoletest │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── console.prj │ │ │ │ │ └── source │ │ │ │ │ │ └── main.cpp │ │ │ │ └── pageflip │ │ │ │ │ ├── Makefile │ │ │ │ │ └── source │ │ │ │ │ └── flip.c │ │ │ └── gx │ │ │ │ ├── acube │ │ │ │ ├── Makefile │ │ │ │ ├── acube.prj │ │ │ │ └── source │ │ │ │ │ └── acube.c │ │ │ │ ├── gxSprites │ │ │ │ ├── Makefile │ │ │ │ ├── source │ │ │ │ │ └── gxsprites.c │ │ │ │ └── textures │ │ │ │ │ ├── ballsprites.png │ │ │ │ │ └── textures.scf │ │ │ │ ├── neheGX │ │ │ │ ├── lesson01 │ │ │ │ │ ├── Makefile │ │ │ │ │ └── source │ │ │ │ │ │ └── lesson1.c │ │ │ │ ├── lesson02 │ │ │ │ │ ├── Makefile │ │ │ │ │ └── source │ │ │ │ │ │ └── lesson2.c │ │ │ │ ├── lesson03 │ │ │ │ │ ├── Makefile │ │ │ │ │ └── source │ │ │ │ │ │ └── lesson3.c │ │ │ │ ├── lesson04 │ │ │ │ │ ├── Makefile │ │ │ │ │ └── source │ │ │ │ │ │ └── lesson4.c │ │ │ │ ├── lesson05 │ │ │ │ │ ├── Makefile │ │ │ │ │ └── source │ │ │ │ │ │ └── lesson5.c │ │ │ │ ├── lesson06 │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── source │ │ │ │ │ │ └── lesson6.c │ │ │ │ │ └── textures │ │ │ │ │ │ ├── NeHe.bmp │ │ │ │ │ │ └── NeHe.scf │ │ │ │ ├── lesson07 │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── source │ │ │ │ │ │ └── lesson7.c │ │ │ │ │ └── textures │ │ │ │ │ │ ├── crate.bmp │ │ │ │ │ │ └── crate.scf │ │ │ │ ├── lesson08 │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── source │ │ │ │ │ │ └── lesson8.c │ │ │ │ │ └── textures │ │ │ │ │ │ ├── Glass.bmp │ │ │ │ │ │ └── glass.scf │ │ │ │ ├── lesson09 │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── source │ │ │ │ │ │ └── lesson9.c │ │ │ │ │ └── textures │ │ │ │ │ │ ├── Star.bmp │ │ │ │ │ │ └── startex.scf │ │ │ │ ├── lesson10 │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── data │ │ │ │ │ │ └── world.txt │ │ │ │ │ ├── source │ │ │ │ │ │ └── lesson10.c │ │ │ │ │ └── textures │ │ │ │ │ │ ├── Mud.bmp │ │ │ │ │ │ └── mud.scf │ │ │ │ ├── lesson11 │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── source │ │ │ │ │ │ └── lesson11.c │ │ │ │ │ └── textures │ │ │ │ │ │ ├── Tim.bmp │ │ │ │ │ │ └── Tim.scf │ │ │ │ ├── lesson12 │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── source │ │ │ │ │ │ └── lesson12.c │ │ │ │ │ └── textures │ │ │ │ │ │ ├── Cube.bmp │ │ │ │ │ │ └── Cube.scf │ │ │ │ └── lesson19 │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── source │ │ │ │ │ └── lesson19.c │ │ │ │ │ └── textures │ │ │ │ │ ├── Particle.bmp │ │ │ │ │ └── Particle.scf │ │ │ │ ├── texturetest │ │ │ │ ├── Makefile │ │ │ │ ├── source │ │ │ │ │ └── texture.c │ │ │ │ ├── texture.prj │ │ │ │ └── textures │ │ │ │ │ ├── drunkentimes.jpg │ │ │ │ │ └── textures.scf │ │ │ │ └── triangle │ │ │ │ ├── Makefile │ │ │ │ ├── source │ │ │ │ └── triangle.c │ │ │ │ └── triangle.prj │ │ ├── system │ │ │ ├── Makefile │ │ │ └── arena1override │ │ │ │ ├── Makefile │ │ │ │ └── source │ │ │ │ └── template.c │ │ └── template │ │ │ ├── Makefile │ │ │ └── source │ │ │ └── template.c │ └── wii │ │ ├── Makefile │ │ ├── audio │ │ ├── modplay │ │ │ ├── Makefile │ │ │ ├── data │ │ │ │ └── technique.mod │ │ │ └── source │ │ │ │ └── template.c │ │ ├── mp3player │ │ │ ├── Makefile │ │ │ ├── data │ │ │ │ └── sample.mp3 │ │ │ └── source │ │ │ │ └── template.c │ │ └── oggplayer │ │ │ ├── Makefile │ │ │ ├── data │ │ │ └── sample.ogg │ │ │ └── source │ │ │ ├── oggplayer.c │ │ │ ├── oggplayer.h │ │ │ └── template.c │ │ ├── devices │ │ ├── network │ │ │ ├── Makefile │ │ │ └── sockettest │ │ │ │ ├── Makefile │ │ │ │ └── source │ │ │ │ └── sockettest.c │ │ ├── usbgecko │ │ │ ├── Makefile │ │ │ └── gdbstub │ │ │ │ ├── Makefile │ │ │ │ ├── gdb.txt │ │ │ │ └── source │ │ │ │ └── gdbstub.c │ │ └── usbkeyboard │ │ │ ├── Makefile │ │ │ └── basic_stdin │ │ │ ├── Makefile │ │ │ └── source │ │ │ └── basic_stdin.c │ │ ├── filesystem │ │ └── directory │ │ │ ├── Makefile │ │ │ └── source │ │ │ └── directory.c │ │ ├── graphics │ │ └── gx │ │ │ ├── gxSprites │ │ │ ├── Makefile │ │ │ ├── source │ │ │ │ └── gxsprites.c │ │ │ └── textures │ │ │ │ ├── ballsprites.png │ │ │ │ └── textures.scf │ │ │ ├── neheGX │ │ │ ├── lesson01 │ │ │ │ ├── Makefile │ │ │ │ └── source │ │ │ │ │ └── lesson1.c │ │ │ ├── lesson02 │ │ │ │ ├── Makefile │ │ │ │ └── source │ │ │ │ │ └── lesson2.c │ │ │ ├── lesson03 │ │ │ │ ├── Makefile │ │ │ │ └── source │ │ │ │ │ └── lesson3.c │ │ │ ├── lesson04 │ │ │ │ ├── Makefile │ │ │ │ └── source │ │ │ │ │ └── lesson4.c │ │ │ ├── lesson05 │ │ │ │ ├── Makefile │ │ │ │ └── source │ │ │ │ │ └── lesson5.c │ │ │ ├── lesson06 │ │ │ │ ├── Makefile │ │ │ │ ├── source │ │ │ │ │ └── lesson6.c │ │ │ │ └── textures │ │ │ │ │ ├── NeHe.bmp │ │ │ │ │ └── NeHe.scf │ │ │ ├── lesson07 │ │ │ │ ├── Makefile │ │ │ │ ├── source │ │ │ │ │ └── lesson7.c │ │ │ │ └── textures │ │ │ │ │ ├── crate.bmp │ │ │ │ │ └── crate.scf │ │ │ ├── lesson08 │ │ │ │ ├── Makefile │ │ │ │ ├── source │ │ │ │ │ └── lesson8.c │ │ │ │ └── textures │ │ │ │ │ ├── Glass.bmp │ │ │ │ │ └── glass.scf │ │ │ ├── lesson09 │ │ │ │ ├── Makefile │ │ │ │ ├── source │ │ │ │ │ └── lesson9.c │ │ │ │ └── textures │ │ │ │ │ ├── Star.bmp │ │ │ │ │ └── startex.scf │ │ │ ├── lesson10 │ │ │ │ ├── Makefile │ │ │ │ ├── data │ │ │ │ │ └── world.txt │ │ │ │ ├── source │ │ │ │ │ └── lesson10.c │ │ │ │ └── textures │ │ │ │ │ ├── Mud.bmp │ │ │ │ │ └── mud.scf │ │ │ ├── lesson11 │ │ │ │ ├── Makefile │ │ │ │ ├── source │ │ │ │ │ └── lesson11.c │ │ │ │ └── textures │ │ │ │ │ ├── Tim.bmp │ │ │ │ │ └── Tim.scf │ │ │ ├── lesson12 │ │ │ │ ├── Makefile │ │ │ │ ├── source │ │ │ │ │ └── lesson12.c │ │ │ │ └── textures │ │ │ │ │ ├── Cube.bmp │ │ │ │ │ └── Cube.scf │ │ │ └── lesson19 │ │ │ │ ├── Makefile │ │ │ │ ├── source │ │ │ │ └── lesson19.c │ │ │ │ └── textures │ │ │ │ ├── Particle.bmp │ │ │ │ └── Particle.scf │ │ │ └── triangle │ │ │ ├── Makefile │ │ │ └── source │ │ │ └── triangle.c │ │ └── template │ │ ├── Makefile │ │ └── source │ │ └── template.c │ ├── libogc │ ├── include │ │ ├── aesndlib.h │ │ ├── asndlib.h │ │ ├── bte │ │ │ ├── bd_addr.h │ │ │ └── bte.h │ │ ├── debug.h │ │ ├── di │ │ │ └── di.h │ │ ├── fat.h │ │ ├── gccore.h │ │ ├── gcmodplay.h │ │ ├── gctypes.h │ │ ├── gcutil.h │ │ ├── iso9660.h │ │ ├── libfatversion.h │ │ ├── mad.h │ │ ├── modplay │ │ │ ├── defines.h │ │ │ ├── freqtab.h │ │ │ ├── mixer.h │ │ │ ├── modplay.h │ │ │ └── semitonetab.h │ │ ├── mp3player.h │ │ ├── network.h │ │ ├── ogc │ │ │ ├── aram.h │ │ │ ├── arqmgr.h │ │ │ ├── arqueue.h │ │ │ ├── audio.h │ │ │ ├── cache.h │ │ │ ├── card.h │ │ │ ├── cast.h │ │ │ ├── color.h │ │ │ ├── cond.h │ │ │ ├── conf.h │ │ │ ├── consol.h │ │ │ ├── context.h │ │ │ ├── disc_io.h │ │ │ ├── dsp.h │ │ │ ├── dvd.h │ │ │ ├── es.h │ │ │ ├── exi.h │ │ │ ├── gu.h │ │ │ ├── gx.h │ │ │ ├── gx_struct.h │ │ │ ├── ios.h │ │ │ ├── ipc.h │ │ │ ├── irq.h │ │ │ ├── isfs.h │ │ │ ├── libversion.h │ │ │ ├── lwp.h │ │ │ ├── lwp_config.h │ │ │ ├── lwp_heap.h │ │ │ ├── lwp_messages.h │ │ │ ├── lwp_mutex.h │ │ │ ├── lwp_objmgr.h │ │ │ ├── lwp_priority.h │ │ │ ├── lwp_queue.h │ │ │ ├── lwp_sema.h │ │ │ ├── lwp_stack.h │ │ │ ├── lwp_states.h │ │ │ ├── lwp_threadq.h │ │ │ ├── lwp_threads.h │ │ │ ├── lwp_tqdata.h │ │ │ ├── lwp_watchdog.h │ │ │ ├── lwp_wkspace.h │ │ │ ├── machine │ │ │ │ ├── asm.h │ │ │ │ ├── processor.h │ │ │ │ └── spinlock.h │ │ │ ├── message.h │ │ │ ├── mutex.h │ │ │ ├── pad.h │ │ │ ├── semaphore.h │ │ │ ├── si.h │ │ │ ├── stm.h │ │ │ ├── sys_state.h │ │ │ ├── system.h │ │ │ ├── texconv.h │ │ │ ├── tpl.h │ │ │ ├── usb.h │ │ │ ├── usbgecko.h │ │ │ ├── usbmouse.h │ │ │ ├── usbstorage.h │ │ │ ├── video.h │ │ │ ├── video_types.h │ │ │ └── wiilaunch.h │ │ ├── ogcsys.h │ │ ├── samplerate.h │ │ ├── sdcard │ │ │ ├── card_buf.h │ │ │ ├── card_cmn.h │ │ │ ├── card_io.h │ │ │ ├── gcsd.h │ │ │ └── wiisd_io.h │ │ ├── smb.h │ │ ├── wiikeyboard │ │ │ ├── keyboard.h │ │ │ ├── usbkeyboard.h │ │ │ └── wsksymdef.h │ │ └── wiiuse │ │ │ ├── wiiuse.h │ │ │ └── wpad.h │ └── libogc_license.txt │ ├── licenses │ ├── devkitPPC-gdb │ │ └── COPYING │ ├── gamecube-tools │ │ └── COPYING │ ├── general-tools │ │ └── COPYING │ ├── wiiload │ │ └── COPYING │ └── wut-tools │ │ └── COPYING │ ├── portlibs │ └── ppc │ │ ├── include │ │ ├── bzlib.h │ │ ├── entities.h │ │ ├── fmt123.h │ │ ├── freetype2 │ │ │ ├── freetype │ │ │ │ ├── config │ │ │ │ │ ├── ftconfig.h │ │ │ │ │ ├── ftheader.h │ │ │ │ │ ├── ftmodule.h │ │ │ │ │ ├── ftoption.h │ │ │ │ │ └── ftstdlib.h │ │ │ │ ├── freetype.h │ │ │ │ ├── ftadvanc.h │ │ │ │ ├── ftbbox.h │ │ │ │ ├── ftbdf.h │ │ │ │ ├── ftbitmap.h │ │ │ │ ├── ftbzip2.h │ │ │ │ ├── ftcache.h │ │ │ │ ├── ftchapters.h │ │ │ │ ├── ftcid.h │ │ │ │ ├── ftdriver.h │ │ │ │ ├── fterrdef.h │ │ │ │ ├── fterrors.h │ │ │ │ ├── ftfntfmt.h │ │ │ │ ├── ftgasp.h │ │ │ │ ├── ftglyph.h │ │ │ │ ├── ftgxval.h │ │ │ │ ├── ftgzip.h │ │ │ │ ├── ftimage.h │ │ │ │ ├── ftincrem.h │ │ │ │ ├── ftlcdfil.h │ │ │ │ ├── ftlist.h │ │ │ │ ├── ftlzw.h │ │ │ │ ├── ftmac.h │ │ │ │ ├── ftmm.h │ │ │ │ ├── ftmodapi.h │ │ │ │ ├── ftmoderr.h │ │ │ │ ├── ftotval.h │ │ │ │ ├── ftoutln.h │ │ │ │ ├── ftparams.h │ │ │ │ ├── ftpfr.h │ │ │ │ ├── ftrender.h │ │ │ │ ├── ftsizes.h │ │ │ │ ├── ftsnames.h │ │ │ │ ├── ftstroke.h │ │ │ │ ├── ftsynth.h │ │ │ │ ├── ftsystem.h │ │ │ │ ├── fttrigon.h │ │ │ │ ├── fttypes.h │ │ │ │ ├── ftwinfnt.h │ │ │ │ ├── t1tables.h │ │ │ │ ├── ttnameid.h │ │ │ │ ├── tttables.h │ │ │ │ └── tttags.h │ │ │ └── ft2build.h │ │ ├── gd.h │ │ ├── gd_color_map.h │ │ ├── gd_errors.h │ │ ├── gd_io.h │ │ ├── gdcache.h │ │ ├── gdfontg.h │ │ ├── gdfontl.h │ │ ├── gdfontmb.h │ │ ├── gdfonts.h │ │ ├── gdfontt.h │ │ ├── gdfx.h │ │ ├── gdpp.h │ │ ├── glm │ │ │ ├── CMakeLists.txt │ │ │ ├── common.hpp │ │ │ ├── detail │ │ │ │ ├── _features.hpp │ │ │ │ ├── _fixes.hpp │ │ │ │ ├── _noise.hpp │ │ │ │ ├── _swizzle.hpp │ │ │ │ ├── _swizzle_func.hpp │ │ │ │ ├── _vectorize.hpp │ │ │ │ ├── compute_common.hpp │ │ │ │ ├── compute_vector_relational.hpp │ │ │ │ ├── func_common.inl │ │ │ │ ├── func_common_simd.inl │ │ │ │ ├── func_exponential.inl │ │ │ │ ├── func_exponential_simd.inl │ │ │ │ ├── func_geometric.inl │ │ │ │ ├── func_geometric_simd.inl │ │ │ │ ├── func_integer.inl │ │ │ │ ├── func_integer_simd.inl │ │ │ │ ├── func_matrix.inl │ │ │ │ ├── func_matrix_simd.inl │ │ │ │ ├── func_packing.inl │ │ │ │ ├── func_packing_simd.inl │ │ │ │ ├── func_trigonometric.inl │ │ │ │ ├── func_trigonometric_simd.inl │ │ │ │ ├── func_vector_relational.inl │ │ │ │ ├── func_vector_relational_simd.inl │ │ │ │ ├── glm.cpp │ │ │ │ ├── qualifier.hpp │ │ │ │ ├── setup.hpp │ │ │ │ ├── type_half.hpp │ │ │ │ ├── type_half.inl │ │ │ │ ├── type_mat2x2.hpp │ │ │ │ ├── type_mat2x2.inl │ │ │ │ ├── type_mat2x3.hpp │ │ │ │ ├── type_mat2x3.inl │ │ │ │ ├── type_mat2x4.hpp │ │ │ │ ├── type_mat2x4.inl │ │ │ │ ├── type_mat3x2.hpp │ │ │ │ ├── type_mat3x2.inl │ │ │ │ ├── type_mat3x3.hpp │ │ │ │ ├── type_mat3x3.inl │ │ │ │ ├── type_mat3x4.hpp │ │ │ │ ├── type_mat3x4.inl │ │ │ │ ├── type_mat4x2.hpp │ │ │ │ ├── type_mat4x2.inl │ │ │ │ ├── type_mat4x3.hpp │ │ │ │ ├── type_mat4x3.inl │ │ │ │ ├── type_mat4x4.hpp │ │ │ │ ├── type_mat4x4.inl │ │ │ │ ├── type_mat4x4_simd.inl │ │ │ │ ├── type_quat.hpp │ │ │ │ ├── type_quat.inl │ │ │ │ ├── type_quat_simd.inl │ │ │ │ ├── type_vec1.hpp │ │ │ │ ├── type_vec1.inl │ │ │ │ ├── type_vec2.hpp │ │ │ │ ├── type_vec2.inl │ │ │ │ ├── type_vec3.hpp │ │ │ │ ├── type_vec3.inl │ │ │ │ ├── type_vec4.hpp │ │ │ │ ├── type_vec4.inl │ │ │ │ └── type_vec4_simd.inl │ │ │ ├── exponential.hpp │ │ │ ├── ext.hpp │ │ │ ├── ext │ │ │ │ ├── matrix_clip_space.hpp │ │ │ │ ├── matrix_clip_space.inl │ │ │ │ ├── matrix_double2x2.hpp │ │ │ │ ├── matrix_double2x2_precision.hpp │ │ │ │ ├── matrix_double2x3.hpp │ │ │ │ ├── matrix_double2x3_precision.hpp │ │ │ │ ├── matrix_double2x4.hpp │ │ │ │ ├── matrix_double2x4_precision.hpp │ │ │ │ ├── matrix_double3x2.hpp │ │ │ │ ├── matrix_double3x2_precision.hpp │ │ │ │ ├── matrix_double3x3.hpp │ │ │ │ ├── matrix_double3x3_precision.hpp │ │ │ │ ├── matrix_double3x4.hpp │ │ │ │ ├── matrix_double3x4_precision.hpp │ │ │ │ ├── matrix_double4x2.hpp │ │ │ │ ├── matrix_double4x2_precision.hpp │ │ │ │ ├── matrix_double4x3.hpp │ │ │ │ ├── matrix_double4x3_precision.hpp │ │ │ │ ├── matrix_double4x4.hpp │ │ │ │ ├── matrix_double4x4_precision.hpp │ │ │ │ ├── matrix_float2x2.hpp │ │ │ │ ├── matrix_float2x2_precision.hpp │ │ │ │ ├── matrix_float2x3.hpp │ │ │ │ ├── matrix_float2x3_precision.hpp │ │ │ │ ├── matrix_float2x4.hpp │ │ │ │ ├── matrix_float2x4_precision.hpp │ │ │ │ ├── matrix_float3x2.hpp │ │ │ │ ├── matrix_float3x2_precision.hpp │ │ │ │ ├── matrix_float3x3.hpp │ │ │ │ ├── matrix_float3x3_precision.hpp │ │ │ │ ├── matrix_float3x4.hpp │ │ │ │ ├── matrix_float3x4_precision.hpp │ │ │ │ ├── matrix_float4x2.hpp │ │ │ │ ├── matrix_float4x2_precision.hpp │ │ │ │ ├── matrix_float4x3.hpp │ │ │ │ ├── matrix_float4x3_precision.hpp │ │ │ │ ├── matrix_float4x4.hpp │ │ │ │ ├── matrix_float4x4_precision.hpp │ │ │ │ ├── matrix_projection.hpp │ │ │ │ ├── matrix_projection.inl │ │ │ │ ├── matrix_relational.hpp │ │ │ │ ├── matrix_relational.inl │ │ │ │ ├── matrix_transform.hpp │ │ │ │ ├── matrix_transform.inl │ │ │ │ ├── quaternion_common.hpp │ │ │ │ ├── quaternion_common.inl │ │ │ │ ├── quaternion_common_simd.inl │ │ │ │ ├── quaternion_double.hpp │ │ │ │ ├── quaternion_double_precision.hpp │ │ │ │ ├── quaternion_exponential.hpp │ │ │ │ ├── quaternion_exponential.inl │ │ │ │ ├── quaternion_float.hpp │ │ │ │ ├── quaternion_float_precision.hpp │ │ │ │ ├── quaternion_geometric.hpp │ │ │ │ ├── quaternion_geometric.inl │ │ │ │ ├── quaternion_relational.hpp │ │ │ │ ├── quaternion_relational.inl │ │ │ │ ├── quaternion_transform.hpp │ │ │ │ ├── quaternion_transform.inl │ │ │ │ ├── quaternion_trigonometric.hpp │ │ │ │ ├── quaternion_trigonometric.inl │ │ │ │ ├── scalar_common.hpp │ │ │ │ ├── scalar_common.inl │ │ │ │ ├── scalar_constants.hpp │ │ │ │ ├── scalar_constants.inl │ │ │ │ ├── scalar_float_sized.hpp │ │ │ │ ├── scalar_int_sized.hpp │ │ │ │ ├── scalar_relational.hpp │ │ │ │ ├── scalar_relational.inl │ │ │ │ ├── scalar_uint_sized.hpp │ │ │ │ ├── vector_bool1.hpp │ │ │ │ ├── vector_bool1_precision.hpp │ │ │ │ ├── vector_bool2.hpp │ │ │ │ ├── vector_bool2_precision.hpp │ │ │ │ ├── vector_bool3.hpp │ │ │ │ ├── vector_bool3_precision.hpp │ │ │ │ ├── vector_bool4.hpp │ │ │ │ ├── vector_bool4_precision.hpp │ │ │ │ ├── vector_common.hpp │ │ │ │ ├── vector_common.inl │ │ │ │ ├── vector_double1.hpp │ │ │ │ ├── vector_double1_precision.hpp │ │ │ │ ├── vector_double2.hpp │ │ │ │ ├── vector_double2_precision.hpp │ │ │ │ ├── vector_double3.hpp │ │ │ │ ├── vector_double3_precision.hpp │ │ │ │ ├── vector_double4.hpp │ │ │ │ ├── vector_double4_precision.hpp │ │ │ │ ├── vector_float1.hpp │ │ │ │ ├── vector_float1_precision.hpp │ │ │ │ ├── vector_float2.hpp │ │ │ │ ├── vector_float2_precision.hpp │ │ │ │ ├── vector_float3.hpp │ │ │ │ ├── vector_float3_precision.hpp │ │ │ │ ├── vector_float4.hpp │ │ │ │ ├── vector_float4_precision.hpp │ │ │ │ ├── vector_int1.hpp │ │ │ │ ├── vector_int1_precision.hpp │ │ │ │ ├── vector_int2.hpp │ │ │ │ ├── vector_int2_precision.hpp │ │ │ │ ├── vector_int3.hpp │ │ │ │ ├── vector_int3_precision.hpp │ │ │ │ ├── vector_int4.hpp │ │ │ │ ├── vector_int4_precision.hpp │ │ │ │ ├── vector_relational.hpp │ │ │ │ ├── vector_relational.inl │ │ │ │ ├── vector_uint1.hpp │ │ │ │ ├── vector_uint1_precision.hpp │ │ │ │ ├── vector_uint2.hpp │ │ │ │ ├── vector_uint2_precision.hpp │ │ │ │ ├── vector_uint3.hpp │ │ │ │ ├── vector_uint3_precision.hpp │ │ │ │ ├── vector_uint4.hpp │ │ │ │ └── vector_uint4_precision.hpp │ │ │ ├── fwd.hpp │ │ │ ├── geometric.hpp │ │ │ ├── glm.hpp │ │ │ ├── gtc │ │ │ │ ├── bitfield.hpp │ │ │ │ ├── bitfield.inl │ │ │ │ ├── color_space.hpp │ │ │ │ ├── color_space.inl │ │ │ │ ├── constants.hpp │ │ │ │ ├── constants.inl │ │ │ │ ├── epsilon.hpp │ │ │ │ ├── epsilon.inl │ │ │ │ ├── integer.hpp │ │ │ │ ├── integer.inl │ │ │ │ ├── matrix_access.hpp │ │ │ │ ├── matrix_access.inl │ │ │ │ ├── matrix_integer.hpp │ │ │ │ ├── matrix_inverse.hpp │ │ │ │ ├── matrix_inverse.inl │ │ │ │ ├── matrix_transform.hpp │ │ │ │ ├── matrix_transform.inl │ │ │ │ ├── noise.hpp │ │ │ │ ├── noise.inl │ │ │ │ ├── packing.hpp │ │ │ │ ├── packing.inl │ │ │ │ ├── quaternion.hpp │ │ │ │ ├── quaternion.inl │ │ │ │ ├── quaternion_simd.inl │ │ │ │ ├── random.hpp │ │ │ │ ├── random.inl │ │ │ │ ├── reciprocal.hpp │ │ │ │ ├── reciprocal.inl │ │ │ │ ├── round.hpp │ │ │ │ ├── round.inl │ │ │ │ ├── type_aligned.hpp │ │ │ │ ├── type_precision.hpp │ │ │ │ ├── type_precision.inl │ │ │ │ ├── type_ptr.hpp │ │ │ │ ├── type_ptr.inl │ │ │ │ ├── ulp.hpp │ │ │ │ ├── ulp.inl │ │ │ │ └── vec1.hpp │ │ │ ├── gtx │ │ │ │ ├── associated_min_max.hpp │ │ │ │ ├── associated_min_max.inl │ │ │ │ ├── bit.hpp │ │ │ │ ├── bit.inl │ │ │ │ ├── closest_point.hpp │ │ │ │ ├── closest_point.inl │ │ │ │ ├── color_encoding.hpp │ │ │ │ ├── color_encoding.inl │ │ │ │ ├── color_space.hpp │ │ │ │ ├── color_space.inl │ │ │ │ ├── color_space_YCoCg.hpp │ │ │ │ ├── color_space_YCoCg.inl │ │ │ │ ├── common.hpp │ │ │ │ ├── common.inl │ │ │ │ ├── compatibility.hpp │ │ │ │ ├── compatibility.inl │ │ │ │ ├── component_wise.hpp │ │ │ │ ├── component_wise.inl │ │ │ │ ├── dual_quaternion.hpp │ │ │ │ ├── dual_quaternion.inl │ │ │ │ ├── easing.hpp │ │ │ │ ├── easing.inl │ │ │ │ ├── euler_angles.hpp │ │ │ │ ├── euler_angles.inl │ │ │ │ ├── extend.hpp │ │ │ │ ├── extend.inl │ │ │ │ ├── extended_min_max.hpp │ │ │ │ ├── extended_min_max.inl │ │ │ │ ├── exterior_product.hpp │ │ │ │ ├── exterior_product.inl │ │ │ │ ├── fast_exponential.hpp │ │ │ │ ├── fast_exponential.inl │ │ │ │ ├── fast_square_root.hpp │ │ │ │ ├── fast_square_root.inl │ │ │ │ ├── fast_trigonometry.hpp │ │ │ │ ├── fast_trigonometry.inl │ │ │ │ ├── float_notmalize.inl │ │ │ │ ├── functions.hpp │ │ │ │ ├── functions.inl │ │ │ │ ├── gradient_paint.hpp │ │ │ │ ├── gradient_paint.inl │ │ │ │ ├── handed_coordinate_space.hpp │ │ │ │ ├── handed_coordinate_space.inl │ │ │ │ ├── hash.hpp │ │ │ │ ├── hash.inl │ │ │ │ ├── integer.hpp │ │ │ │ ├── integer.inl │ │ │ │ ├── intersect.hpp │ │ │ │ ├── intersect.inl │ │ │ │ ├── io.hpp │ │ │ │ ├── io.inl │ │ │ │ ├── log_base.hpp │ │ │ │ ├── log_base.inl │ │ │ │ ├── matrix_cross_product.hpp │ │ │ │ ├── matrix_cross_product.inl │ │ │ │ ├── matrix_decompose.hpp │ │ │ │ ├── matrix_decompose.inl │ │ │ │ ├── matrix_factorisation.hpp │ │ │ │ ├── matrix_factorisation.inl │ │ │ │ ├── matrix_interpolation.hpp │ │ │ │ ├── matrix_interpolation.inl │ │ │ │ ├── matrix_major_storage.hpp │ │ │ │ ├── matrix_major_storage.inl │ │ │ │ ├── matrix_operation.hpp │ │ │ │ ├── matrix_operation.inl │ │ │ │ ├── matrix_query.hpp │ │ │ │ ├── matrix_query.inl │ │ │ │ ├── matrix_transform_2d.hpp │ │ │ │ ├── matrix_transform_2d.inl │ │ │ │ ├── mixed_product.hpp │ │ │ │ ├── mixed_product.inl │ │ │ │ ├── norm.hpp │ │ │ │ ├── norm.inl │ │ │ │ ├── normal.hpp │ │ │ │ ├── normal.inl │ │ │ │ ├── normalize_dot.hpp │ │ │ │ ├── normalize_dot.inl │ │ │ │ ├── number_precision.hpp │ │ │ │ ├── number_precision.inl │ │ │ │ ├── optimum_pow.hpp │ │ │ │ ├── optimum_pow.inl │ │ │ │ ├── orthonormalize.hpp │ │ │ │ ├── orthonormalize.inl │ │ │ │ ├── perpendicular.hpp │ │ │ │ ├── perpendicular.inl │ │ │ │ ├── polar_coordinates.hpp │ │ │ │ ├── polar_coordinates.inl │ │ │ │ ├── projection.hpp │ │ │ │ ├── projection.inl │ │ │ │ ├── quaternion.hpp │ │ │ │ ├── quaternion.inl │ │ │ │ ├── range.hpp │ │ │ │ ├── raw_data.hpp │ │ │ │ ├── raw_data.inl │ │ │ │ ├── rotate_normalized_axis.hpp │ │ │ │ ├── rotate_normalized_axis.inl │ │ │ │ ├── rotate_vector.hpp │ │ │ │ ├── rotate_vector.inl │ │ │ │ ├── scalar_multiplication.hpp │ │ │ │ ├── scalar_relational.hpp │ │ │ │ ├── scalar_relational.inl │ │ │ │ ├── spline.hpp │ │ │ │ ├── spline.inl │ │ │ │ ├── std_based_type.hpp │ │ │ │ ├── std_based_type.inl │ │ │ │ ├── string_cast.hpp │ │ │ │ ├── string_cast.inl │ │ │ │ ├── texture.hpp │ │ │ │ ├── texture.inl │ │ │ │ ├── transform.hpp │ │ │ │ ├── transform.inl │ │ │ │ ├── transform2.hpp │ │ │ │ ├── transform2.inl │ │ │ │ ├── type_aligned.hpp │ │ │ │ ├── type_aligned.inl │ │ │ │ ├── type_trait.hpp │ │ │ │ ├── type_trait.inl │ │ │ │ ├── vec_swizzle.hpp │ │ │ │ ├── vector_angle.hpp │ │ │ │ ├── vector_angle.inl │ │ │ │ ├── vector_query.hpp │ │ │ │ ├── vector_query.inl │ │ │ │ ├── wrap.hpp │ │ │ │ └── wrap.inl │ │ │ ├── integer.hpp │ │ │ ├── mat2x2.hpp │ │ │ ├── mat2x3.hpp │ │ │ ├── mat2x4.hpp │ │ │ ├── mat3x2.hpp │ │ │ ├── mat3x3.hpp │ │ │ ├── mat3x4.hpp │ │ │ ├── mat4x2.hpp │ │ │ ├── mat4x3.hpp │ │ │ ├── mat4x4.hpp │ │ │ ├── matrix.hpp │ │ │ ├── packing.hpp │ │ │ ├── simd │ │ │ │ ├── common.h │ │ │ │ ├── exponential.h │ │ │ │ ├── geometric.h │ │ │ │ ├── integer.h │ │ │ │ ├── matrix.h │ │ │ │ ├── packing.h │ │ │ │ ├── platform.h │ │ │ │ ├── trigonometric.h │ │ │ │ └── vector_relational.h │ │ │ ├── trigonometric.hpp │ │ │ ├── vec2.hpp │ │ │ ├── vec3.hpp │ │ │ ├── vec4.hpp │ │ │ └── vector_relational.hpp │ │ ├── jansson.h │ │ ├── jansson_config.h │ │ ├── jconfig.h │ │ ├── jerror.h │ │ ├── jmorecfg.h │ │ ├── jpeglib.h │ │ ├── libmodplug │ │ │ ├── it_defs.h │ │ │ ├── modplug.h │ │ │ ├── sndfile.h │ │ │ └── stdafx.h │ │ ├── libpng16 │ │ │ ├── png.h │ │ │ ├── pngconf.h │ │ │ └── pnglibconf.h │ │ ├── mad.h │ │ ├── mpg123.h │ │ ├── mxml.h │ │ ├── ode │ │ │ ├── collision.h │ │ │ ├── collision_space.h │ │ │ ├── collision_trimesh.h │ │ │ ├── common.h │ │ │ ├── compatibility.h │ │ │ ├── contact.h │ │ │ ├── cooperative.h │ │ │ ├── error.h │ │ │ ├── export-dif.h │ │ │ ├── mass.h │ │ │ ├── matrix.h │ │ │ ├── matrix_coop.h │ │ │ ├── memory.h │ │ │ ├── misc.h │ │ │ ├── objects.h │ │ │ ├── ode.h │ │ │ ├── odeconfig.h │ │ │ ├── odecpp.h │ │ │ ├── odecpp_collision.h │ │ │ ├── odeinit.h │ │ │ ├── odemath.h │ │ │ ├── odemath_legacy.h │ │ │ ├── precision.h │ │ │ ├── rotation.h │ │ │ ├── threading.h │ │ │ ├── threading_impl.h │ │ │ ├── timer.h │ │ │ └── version.h │ │ ├── ogg │ │ │ ├── config_types.h │ │ │ ├── ogg.h │ │ │ └── os_types.h │ │ ├── out123.h │ │ ├── png.h │ │ ├── pngconf.h │ │ ├── pnglibconf.h │ │ ├── tremor │ │ │ ├── config_types.h │ │ │ ├── ivorbiscodec.h │ │ │ └── ivorbisfile.h │ │ ├── turbojpeg.h │ │ ├── vorbis │ │ │ ├── codec.h │ │ │ ├── vorbisenc.h │ │ │ └── vorbisfile.h │ │ ├── zconf.h │ │ └── zlib.h │ │ └── licenses │ │ ├── ppc-bzip2 │ │ └── LICENSE │ │ ├── ppc-freetype │ │ ├── FTL.TXT │ │ ├── GPLv2.TXT │ │ └── LICENSE.TXT │ │ ├── ppc-jansson │ │ └── LICENSE │ │ ├── ppc-libgd │ │ └── COPYING │ │ ├── ppc-libjpeg-turbo │ │ └── LICENSE.md │ │ ├── ppc-libmad │ │ └── COPYRIGHT │ │ ├── ppc-libogg │ │ └── COPYING │ │ ├── ppc-libpng │ │ └── LICENSE │ │ ├── ppc-libvorbisidec │ │ └── COPYING │ │ ├── ppc-mxml │ │ └── COPYING │ │ └── ppc-zlib │ │ └── LICENSE │ └── wut │ └── include │ ├── avm │ ├── avm.dox │ └── drc.h │ ├── coreinit │ ├── alarm.h │ ├── atomic.h │ ├── atomic64.h │ ├── bsp.h │ ├── cache.h │ ├── codegen.h │ ├── condition.h │ ├── context.h │ ├── core.h │ ├── coreinit.dox │ ├── coroutine.h │ ├── cosreport.h │ ├── debug.h │ ├── dynload.h │ ├── energysaver.h │ ├── event.h │ ├── exception.h │ ├── exit.h │ ├── fastcondition.h │ ├── fastmutex.h │ ├── fiber.h │ ├── filesystem.h │ ├── foreground.h │ ├── internal.h │ ├── ios.h │ ├── mcp.h │ ├── memblockheap.h │ ├── memdefaultheap.h │ ├── memexpheap.h │ ├── memfrmheap.h │ ├── memheap.h │ ├── memlist.h │ ├── memory.h │ ├── memorymap.h │ ├── memunitheap.h │ ├── messagequeue.h │ ├── mutex.h │ ├── rendezvous.h │ ├── screen.h │ ├── semaphore.h │ ├── spinlock.h │ ├── systeminfo.h │ ├── taskqueue.h │ ├── thread.h │ ├── threadqueue.h │ ├── time.h │ ├── title.h │ └── userconfig.h │ ├── curl │ ├── curl.h │ ├── curlbuild.h │ ├── curlrules.h │ ├── curlver.h │ ├── easy.h │ ├── mprintf.h │ ├── multi.h │ ├── stdcheaders.h │ └── typecheck-gcc.h │ ├── dmae │ ├── dmae.dox │ ├── mem.h │ └── sync.h │ ├── gfd.h │ ├── gx2 │ ├── clear.h │ ├── context.h │ ├── debug.h │ ├── display.h │ ├── displaylist.h │ ├── draw.h │ ├── enum.h │ ├── event.h │ ├── gx2.dox │ ├── mem.h │ ├── registers.h │ ├── sampler.h │ ├── shaders.h │ ├── state.h │ ├── surface.h │ ├── swap.h │ ├── temp.h │ ├── tessellation.h │ ├── texture.h │ └── utils.h │ ├── gx2r │ ├── buffer.h │ ├── displaylist.h │ ├── draw.h │ ├── gx2r.dox │ ├── mem.h │ ├── resource.h │ └── surface.h │ ├── h264 │ ├── decode.h │ └── stream.h │ ├── nn │ ├── ac.h │ ├── ac │ │ ├── ac_c.h │ │ └── ac_cpp.h │ ├── acp.h │ ├── acp │ │ ├── device.h │ │ ├── nn_acp_types.h │ │ ├── result.h │ │ ├── save.h │ │ └── title.h │ ├── act.h │ ├── act │ │ └── client_cpp.h │ ├── ffl │ │ └── miidata.h │ ├── nn.dox │ ├── pdm.h │ ├── pdm │ │ ├── pdm_c.h │ │ └── pdm_cpp.h │ ├── result.h │ ├── swkbd.h │ └── swkbd │ │ └── swkbd_cpp.h │ ├── nsyshid │ ├── hid.h │ └── nsyshid.dox │ ├── nsysnet │ ├── nssl.h │ ├── nsysnet.dox │ └── socket.h │ ├── padscore │ ├── kpad.h │ ├── padscore.dox │ └── wpad.h │ ├── proc_ui │ ├── procui.dox │ └── procui.h │ ├── sndcore2 │ ├── core.h │ ├── device.h │ ├── drcvs.h │ ├── result.h │ ├── sndcore2.dox │ └── voice.h │ ├── swkbd │ ├── rpl_interface.h │ └── swkbd.dox │ ├── sysapp │ ├── launch.h │ ├── switch.h │ ├── sysapp.dox │ └── title.h │ ├── vpad │ ├── input.h │ └── vpad.dox │ ├── whb │ ├── align.h │ ├── crash.h │ ├── file.h │ ├── gfx.h │ ├── libmanager.h │ ├── log.h │ ├── log_cafe.h │ ├── log_console.h │ ├── log_udp.h │ ├── proc.h │ └── sdcard.h │ ├── wut.h │ ├── wut_rplwrap.h │ ├── wut_structsize.h │ └── wut_types.h └── zig-wii.code-workspace /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM devkitpro/devkitppc:latest 2 | 3 | ENV PATH="/opt/zig:${PATH}" 4 | ENV ZIG_VERSION="0.9.0-dev.951+9e2472706" 5 | ENV ZLS_SHA="c541479" 6 | 7 | # Install zig 8 | RUN mkdir /opt/zig && mkdir /opt/zls && \ 9 | curl -L https://ziglang.org/builds/zig-linux-x86_64-$ZIG_VERSION.tar.xz | tar -xJ --strip-components=1 -C /opt/zig && \ 10 | git clone --recurse-submodules https://github.com/zigtools/zls /opt/zls && \ 11 | cd /opt/zls && \ 12 | git reset --hard $ZLS_SHA && \ 13 | zig build -Drelease-safe 14 | 15 | # Entrypoint 16 | ENTRYPOINT /bin/bash 17 | -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | // For format details, see https://aka.ms/devcontainer.json. 2 | { 3 | "name": "WiiZig", 4 | "build": { 5 | "dockerfile": "Dockerfile", 6 | }, 7 | 8 | // Set *default* container specific settings.json values on container create. 9 | "settings": { 10 | "zigLanguageClient.path": "/opt/zls/zig-out/bin/zls" 11 | }, 12 | 13 | // Add the IDs of extensions you want installed when the container is created. 14 | "extensions": [ 15 | "tiehuis.zig", 16 | "augusterame.zls-vscode", 17 | "prime31.zig" 18 | ], 19 | } 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /zig-cache 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2021 Benjamin Feng 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # zig-wii 2 | 3 | ![Example hello world](hello-world.png) 4 | 5 | This is a work-in-progress to compile Zig code on the Wii. Right now all of the 6 | app code should be writable in Zig, but the devkitPPC toolchain is still needed 7 | for linking in libc and OS primitives. 8 | -------------------------------------------------------------------------------- /build.zig: -------------------------------------------------------------------------------- 1 | const std = @import("std"); 2 | const Builder = std.build.Builder; 3 | 4 | pub fn build(b: *Builder) void { 5 | const mode = b.standardReleaseOptions(); 6 | const obj = b.addObject("main", "src/main.zig"); 7 | obj.setOutputDir("build"); 8 | obj.linkLibC(); 9 | obj.setLibCFile(std.build.FileSource{ .path = "libc.txt" }); 10 | obj.addIncludeDir("vendor/devkitpro/libogc/include"); 11 | obj.setBuildMode(mode); 12 | obj.setTarget(.{ 13 | .cpu_arch = .powerpc, 14 | .os_tag = .freestanding, 15 | .abi = .eabi, 16 | .cpu_model = .{ .explicit = &std.Target.powerpc.cpu.@"750" }, 17 | .cpu_features_add = std.Target.powerpc.featureSet(&.{.hard_float}), 18 | }); 19 | 20 | const elf = b.addSystemCommand(&[_][]const u8{ "/opt/devkitpro/devkitPPC/bin/powerpc-eabi-gcc", "build/main.o", "-g", "-DGEKKO", "-mrvl", "-mcpu=750", "-meabi", "-mhard-float", "-Wl,-Map,build/.map", "-L/opt/devkitpro/libogc/lib/wii", "-lwiiuse", "-lbte", "-logc", "-lm", "-o", "build/zig-wii.elf" }); 21 | const dol = b.addSystemCommand(&[_][]const u8{ "elf2dol", "build/zig-wii.elf", "build/zig-wii.dol" }); 22 | b.default_step.dependOn(&dol.step); 23 | dol.step.dependOn(&elf.step); 24 | elf.step.dependOn(&obj.step); 25 | } 26 | -------------------------------------------------------------------------------- /hello-world.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/hello-world.png -------------------------------------------------------------------------------- /libc.txt: -------------------------------------------------------------------------------- 1 | # The directory that contains `stdlib.h`. 2 | # On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null` 3 | include_dir=vendor/devkitpro/devkitPPC/powerpc-eabi/include 4 | 5 | # The system-specific include directory. May be the same as `include_dir`. 6 | # On Windows it's the directory that includes `vcruntime.h`. 7 | # On POSIX it's the directory that includes `sys/errno.h`. 8 | sys_include_dir=vendor/devkitpro/devkitPPC/powerpc-eabi/include 9 | 10 | # The directory that contains `crt1.o` or `crt2.o`. 11 | # On POSIX, can be found with `cc -print-file-name=crt1.o`. 12 | # Not needed when targeting MacOS. 13 | crt_dir=vendor/devkitpro/devkitPPC/powerpc-eabi/lib 14 | 15 | # The directory that contains `vcruntime.lib`. 16 | # Only needed when targeting MSVC on Windows. 17 | msvc_lib_dir= 18 | 19 | # The directory that contains `kernel32.lib`. 20 | # Only needed when targeting MSVC on Windows. 21 | kernel32_lib_dir= 22 | 23 | # The directory that contains `crtbeginS.o` and `crtendS.o` 24 | # Only needed when targeting Haiku. 25 | gcc_dir= 26 | -------------------------------------------------------------------------------- /src/c.zig: -------------------------------------------------------------------------------- 1 | pub usingnamespace @cImport({ 2 | @cInclude("gccore.h"); 3 | @cInclude("wiiuse/wpad.h"); 4 | }); 5 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/_newlib_version.h: -------------------------------------------------------------------------------- 1 | /* _newlib_version.h. Generated from _newlib_version.hin by configure. */ 2 | /* Version macros for internal and downstream use. */ 3 | #ifndef _NEWLIB_VERSION_H__ 4 | #define _NEWLIB_VERSION_H__ 1 5 | 6 | #define _NEWLIB_VERSION "3.3.0" 7 | #define __NEWLIB__ 3 8 | #define __NEWLIB_MINOR__ 3 9 | #define __NEWLIB_PATCHLEVEL__ 0 10 | 11 | #endif /* !_NEWLIB_VERSION_H__ */ 12 | 13 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/_syslist.h: -------------------------------------------------------------------------------- 1 | /* internal use only -- mapping of "system calls" for libraries that lose 2 | and only provide C names, so that we end up in violation of ANSI */ 3 | #ifndef __SYSLIST_H 4 | #define __SYSLIST_H 5 | 6 | #ifdef MISSING_SYSCALL_NAMES 7 | #define _close close 8 | #define _execve execve 9 | #define _fcntl fcntl 10 | #define _fork fork 11 | #define _fstat fstat 12 | #define _getpid getpid 13 | #define _gettimeofday gettimeofday 14 | #define _isatty isatty 15 | #define _kill kill 16 | #define _link link 17 | #define _lseek lseek 18 | #define _mkdir mkdir 19 | #define _open open 20 | #define _read read 21 | #define _sbrk sbrk 22 | #define _stat stat 23 | #define _times times 24 | #define _unlink unlink 25 | #define _wait wait 26 | #define _write write 27 | #endif /* MISSING_SYSCALL_NAMES */ 28 | 29 | #if defined MISSING_SYSCALL_NAMES || !defined HAVE_OPENDIR 30 | /* If the system call interface is missing opendir, readdir, and 31 | closedir, there is an implementation of these functions in 32 | libc/posix that is implemented using open, getdents, and close. 33 | Note, these functions are currently not in the libc/syscalls 34 | directory. */ 35 | #define _opendir opendir 36 | #define _readdir readdir 37 | #define _closedir closedir 38 | #endif /* MISSING_SYSCALL_NAMES || !HAVE_OPENDIR */ 39 | 40 | #endif /* !__SYSLIST_H_ */ 41 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/alloca.h: -------------------------------------------------------------------------------- 1 | /* libc/include/alloca.h - Allocate memory on stack */ 2 | 3 | /* Written 2000 by Werner Almesberger */ 4 | /* Rearranged for general inclusion by stdlib.h. 5 | 2001, Corinna Vinschen */ 6 | 7 | #ifndef _NEWLIB_ALLOCA_H 8 | #define _NEWLIB_ALLOCA_H 9 | 10 | #include "_ansi.h" 11 | #include 12 | 13 | #undef alloca 14 | 15 | #ifdef __GNUC__ 16 | #define alloca(size) __builtin_alloca(size) 17 | #else 18 | void * alloca (size_t); 19 | #endif 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/c++/10.2.0/pstl/parallel_backend.h: -------------------------------------------------------------------------------- 1 | // -*- C++ -*- 2 | //===-- parallel_backend.h ------------------------------------------------===// 3 | // 4 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5 | // See https://llvm.org/LICENSE.txt for license information. 6 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 | // 8 | //===----------------------------------------------------------------------===// 9 | 10 | #ifndef _PSTL_PARALLEL_BACKEND_H 11 | #define _PSTL_PARALLEL_BACKEND_H 12 | 13 | #if defined(_PSTL_PAR_BACKEND_SERIAL) 14 | # include "parallel_backend_serial.h" 15 | #elif defined(_PSTL_PAR_BACKEND_TBB) 16 | # include "parallel_backend_tbb.h" 17 | #else 18 | _PSTL_PRAGMA_MESSAGE("Parallel backend was not specified"); 19 | #endif 20 | 21 | #endif /* _PSTL_PARALLEL_BACKEND_H */ 22 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/cpio.h: -------------------------------------------------------------------------------- 1 | /* POSIX.1 symbolic constants for c_mode field of cpio archive format */ 2 | 3 | #ifndef _CPIO_H 4 | #define _CPIO_H 5 | 6 | #define C_IRUSR 0000400 /* Read by owner */ 7 | #define C_IWUSR 0000200 /* Write by owner */ 8 | #define C_IXUSR 0000100 /* Execute by owner */ 9 | #define C_IRGRP 0000040 /* Read by group */ 10 | #define C_IWGRP 0000020 /* Write by group */ 11 | #define C_IXGRP 0000010 /* Execute by group */ 12 | #define C_IROTH 0000004 /* Read by others */ 13 | #define C_IWOTH 0000002 /* Write by others */ 14 | #define C_IXOTH 0000001 /* Execute by others */ 15 | #define C_ISUID 0004000 /* Set user ID */ 16 | #define C_ISGID 0002000 /* Set group ID */ 17 | #define C_ISVTX 0001000 /* On directories, restricted deletion flag */ 18 | 19 | #define C_ISDIR 0040000 /* Directory */ 20 | #define C_ISFIFO 0010000 /* FIFO */ 21 | #define C_ISREG 0100000 /* Regular file */ 22 | #define C_ISBLK 0060000 /* Block special */ 23 | #define C_ISCHR 0020000 /* Character special */ 24 | #define C_ISCTG 0110000 /* Reserved */ 25 | #define C_ISLNK 0120000 /* Symbolic link */ 26 | #define C_ISSOCK 0140000 /* Socket */ 27 | 28 | #define MAGIC "070707" 29 | 30 | #endif /* _CPIO_H */ 31 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/envlock.h: -------------------------------------------------------------------------------- 1 | /* envlock.h -- header file for env routines. */ 2 | 3 | #ifndef _INCLUDE_ENVLOCK_H_ 4 | #define _INCLUDE_ENVLOCK_H_ 5 | 6 | #include <_ansi.h> 7 | #include 8 | 9 | #define ENV_LOCK __env_lock(reent_ptr) 10 | #define ENV_UNLOCK __env_unlock(reent_ptr) 11 | 12 | void __env_lock (struct _reent *reent); 13 | void __env_unlock (struct _reent *reent); 14 | 15 | #endif /* _INCLUDE_ENVLOCK_H_ */ 16 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/envz.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. 2 | * 3 | * Permission to use, copy, modify, and distribute this software 4 | * is freely granted, provided that this notice is preserved. 5 | */ 6 | 7 | #include 8 | #include 9 | 10 | /* The newlib implementation of these functions assumes that sizeof(char) == 1. */ 11 | char * envz_entry (const char *envz, size_t envz_len, const char *name); 12 | char * envz_get (const char *envz, size_t envz_len, const char *name); 13 | error_t envz_add (char **envz, size_t *envz_len, const char *name, const char *value); 14 | error_t envz_merge (char **envz, size_t *envz_len, const char *envz2, size_t envz2_len, int override); 15 | void envz_remove(char **envz, size_t *envz_len, const char *name); 16 | void envz_strip (char **envz, size_t *envz_len); 17 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/errno.h: -------------------------------------------------------------------------------- 1 | #ifndef __ERRNO_H__ 2 | #define __ERRNO_H__ 3 | 4 | #ifndef __error_t_defined 5 | typedef int error_t; 6 | #define __error_t_defined 1 7 | #endif 8 | 9 | #include 10 | 11 | #endif /* !__ERRNO_H__ */ 12 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/fastmath.h: -------------------------------------------------------------------------------- 1 | #ifndef _FASTMATH_H_ 2 | #ifdef __cplusplus 3 | extern "C" { 4 | #endif 5 | #define _FASTMATH_H_ 6 | 7 | #include 8 | #include 9 | 10 | #ifdef __cplusplus 11 | } 12 | #endif 13 | #endif /* _FASTMATH_H_ */ 14 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/fcntl.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/fenv.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017 SiFive Inc. All rights reserved. 2 | 3 | This copyrighted material is made available to anyone wishing to use, 4 | modify, copy, or redistribute it subject to the terms and conditions 5 | of the FreeBSD License. This program is distributed in the hope that 6 | it will be useful, but WITHOUT ANY WARRANTY expressed or implied, 7 | including the implied warranties of MERCHANTABILITY or FITNESS FOR 8 | A PARTICULAR PURPOSE. A copy of this license is available at 9 | http://www.opensource.org/licenses. 10 | */ 11 | 12 | #ifndef _FENV_H 13 | #define _FENV_H 14 | 15 | #include 16 | 17 | #ifdef __cplusplus 18 | extern "C" { 19 | #endif 20 | 21 | /* Exception */ 22 | int feclearexcept(int excepts); 23 | int fegetexceptflag(fexcept_t *flagp, int excepts); 24 | int feraiseexcept(int excepts); 25 | int fesetexceptflag(const fexcept_t *flagp, int excepts); 26 | int fetestexcept(int excepts); 27 | 28 | /* Rounding mode */ 29 | int fegetround(void); 30 | int fesetround(int rounding_mode); 31 | 32 | /* Float environment */ 33 | int fegetenv(fenv_t *envp); 34 | int feholdexcept(fenv_t *envp); 35 | int fesetenv(const fenv_t *envp); 36 | int feupdateenv(const fenv_t *envp); 37 | 38 | #ifdef __cplusplus 39 | } 40 | #endif 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/libgen.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libgen.h - defined by XPG4 3 | */ 4 | 5 | #ifndef _LIBGEN_H_ 6 | #define _LIBGEN_H_ 7 | 8 | #include "_ansi.h" 9 | #include 10 | #include 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | /* There are two common basename variants. If you do NOT #include 17 | and you do 18 | 19 | #define _GNU_SOURCE 20 | #include 21 | 22 | you get the GNU version. Otherwise you get the POSIX versionfor which you 23 | should #include i for the function prototype. POSIX requires that 24 | #undef basename will still let you invoke the underlying function. However, 25 | this also implies that the POSIX version is used in this case. That's made 26 | sure here. */ 27 | #undef basename 28 | #define basename __xpg_basename 29 | char *basename (char *) __asm__(__ASMNAME("basename")); 30 | char *dirname (char *); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif /* _LIBGEN_H_ */ 37 | 38 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/machine/_arc4random.h: -------------------------------------------------------------------------------- 1 | /* Use default implementation, see arc4random.h */ 2 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/machine/_endian.h: -------------------------------------------------------------------------------- 1 | #ifndef __MACHINE_ENDIAN_H__ 2 | #error "must be included via " 3 | #endif /* !__MACHINE_ENDIAN_H__ */ 4 | 5 | #include 6 | 7 | #ifdef __PPC__ 8 | /* Get rid of GCC builtin defines on PowerPC */ 9 | #ifdef _BIG_ENDIAN 10 | #undef _BIG_ENDIAN 11 | #endif 12 | #ifdef _LITTLE_ENDIAN 13 | #undef _LITTLE_ENDIAN 14 | #endif 15 | #endif /* __PPC__ */ 16 | 17 | #ifndef _LITTLE_ENDIAN 18 | #define _LITTLE_ENDIAN 1234 19 | #endif 20 | 21 | #ifndef _BIG_ENDIAN 22 | #define _BIG_ENDIAN 4321 23 | #endif 24 | 25 | #ifndef _PDP_ENDIAN 26 | #define _PDP_ENDIAN 3412 27 | #endif 28 | 29 | #ifndef _BYTE_ORDER 30 | #if defined(__IEEE_LITTLE_ENDIAN) || defined(__IEEE_BYTES_LITTLE_ENDIAN) 31 | #define _BYTE_ORDER _LITTLE_ENDIAN 32 | #else 33 | #define _BYTE_ORDER _BIG_ENDIAN 34 | #endif 35 | #endif 36 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/machine/_time.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_TIME_H_ 2 | #error "must be included via " 3 | #endif /* !_SYS_TIME_H_ */ 4 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/machine/_types.h: -------------------------------------------------------------------------------- 1 | #ifndef _MACHINE__TYPES_H 2 | #define _MACHINE__TYPES_H 3 | 4 | #include 5 | 6 | /* Use 64bit types */ 7 | typedef __int64_t _off_t; 8 | #define __machine_off_t_defined 9 | 10 | typedef __int64_t _fpos_t; 11 | #define __machine_fpos_t_defined 12 | 13 | typedef __uint32_t __ino_t; 14 | #define __machine_ino_t_defined 15 | 16 | typedef __uint32_t __dev_t; 17 | #define __machine_dev_t_defined 18 | 19 | #endif // _MACHINE__TYPES_H 20 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/machine/ansi.h: -------------------------------------------------------------------------------- 1 | /* dummy header file to support BSD compiler */ 2 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/machine/malloc.h: -------------------------------------------------------------------------------- 1 | #ifndef _MACHMALLOC_H_ 2 | #define _MACHMALLOC_H_ 3 | 4 | # if defined(__ALTIVEC__) 5 | 6 | void *vec_calloc (size_t __nmemb, size_t __size); 7 | void *_vec_calloc_r (struct _reent *, size_t __nmemb, size_t __size); 8 | void vec_free (void *); 9 | #define _vec_freer _freer 10 | void *vec_malloc (size_t __size); 11 | #define _vec_mallocr _memalign_r 12 | void *vec_realloc (void *__r, size_t __size); 13 | void *_vec_realloc_r (struct _reent *, void *__r, size_t __size); 14 | 15 | # endif /* __ALTIVEC__ */ 16 | 17 | 18 | #endif /* _MACHMALLOC_H_ */ 19 | 20 | 21 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/machine/param.h: -------------------------------------------------------------------------------- 1 | /* Place holder for machine-specific param.h. */ 2 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/machine/setjmp-dj.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1991 DJ Delorie 3 | * All rights reserved. 4 | * 5 | * Redistribution, modification, and use in source and binary forms is permitted 6 | * provided that the above copyright notice and following paragraph are 7 | * duplicated in all such forms. 8 | * 9 | * This file is distributed WITHOUT ANY WARRANTY; without even the implied 10 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 11 | */ 12 | 13 | /* Modified to use SETJMP_DJ_H rather than SETJMP_H to avoid 14 | conflicting with setjmp.h. Ian Taylor, Cygnus support, April, 15 | 1993. */ 16 | 17 | #ifndef _SETJMP_DJ_H_ 18 | #define _SETJMP_DJ_H_ 19 | 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | 24 | typedef struct { 25 | unsigned long eax; 26 | unsigned long ebx; 27 | unsigned long ecx; 28 | unsigned long edx; 29 | unsigned long esi; 30 | unsigned long edi; 31 | unsigned long ebp; 32 | unsigned long esp; 33 | unsigned long eip; 34 | } jmp_buf[1]; 35 | 36 | extern int setjmp(jmp_buf); 37 | extern void longjmp(jmp_buf, int); 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/machine/termios.h: -------------------------------------------------------------------------------- 1 | #define __MAX_BAUD B4000000 2 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/machine/time.h: -------------------------------------------------------------------------------- 1 | #ifndef _MACHTIME_H_ 2 | #define _MACHTIME_H_ 3 | 4 | #if defined(__rtems__) || defined(__VISIUM__) || defined(__riscv) 5 | #define _CLOCKS_PER_SEC_ 1000000 6 | #elif defined(__aarch64__) || defined(__arm__) || defined(__thumb__) 7 | #define _CLOCKS_PER_SEC_ 100 8 | #endif 9 | 10 | #ifdef __SPU__ 11 | #include 12 | int nanosleep (const struct timespec *, struct timespec *); 13 | #endif 14 | 15 | #endif /* _MACHTIME_H_ */ 16 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/machine/types.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Newlib targets may provide an own version of this file in their machine 3 | * directory to add custom user types for . 4 | */ 5 | #ifndef _SYS_TYPES_H 6 | #error "must be included via " 7 | #endif /* !_SYS_TYPES_H */ 8 | 9 | #if defined(__XMK__) && defined(___int64_t_defined) 10 | typedef __uint64_t u_quad_t; 11 | typedef __int64_t quad_t; 12 | typedef quad_t * qaddr_t; 13 | #endif 14 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/memory.h: -------------------------------------------------------------------------------- 1 | #ifndef _MEMORY_H 2 | #define _MEMORY_H 3 | #include 4 | #endif /* !_MEMORY_H */ 5 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/paths.h: -------------------------------------------------------------------------------- 1 | #ifndef _PATHS_H_ 2 | #define _PATHS_H_ 3 | 4 | #define _PATH_DEV "/dev/" 5 | #define _PATH_DEVNULL "/dev/null" 6 | #define _PATH_DEVZERO "/dev/zero" 7 | #define _PATH_BSHELL "/bin/sh" 8 | 9 | #endif /* _PATHS_H_ */ 10 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/regdef.h: -------------------------------------------------------------------------------- 1 | /* regdef.h -- define register names. */ 2 | 3 | /* This is a standard include file for MIPS targets. Other target 4 | probably don't define it, and attempts to include this file will 5 | fail. */ 6 | 7 | #include 8 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/setjmp.h: -------------------------------------------------------------------------------- 1 | /* 2 | setjmp.h 3 | stubs for future use. 4 | */ 5 | 6 | #ifndef _SETJMP_H_ 7 | #define _SETJMP_H_ 8 | 9 | #include "_ansi.h" 10 | #include 11 | 12 | _BEGIN_STD_C 13 | 14 | #ifdef __GNUC__ 15 | void longjmp (jmp_buf __jmpb, int __retval) 16 | __attribute__ ((__noreturn__)); 17 | #else 18 | void longjmp (jmp_buf __jmpb, int __retval); 19 | #endif 20 | int setjmp (jmp_buf __jmpb); 21 | 22 | _END_STD_C 23 | 24 | #endif /* _SETJMP_H_ */ 25 | 26 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/signal.h: -------------------------------------------------------------------------------- 1 | #ifndef _SIGNAL_H_ 2 | #define _SIGNAL_H_ 3 | 4 | #include "_ansi.h" 5 | #include 6 | #include 7 | 8 | _BEGIN_STD_C 9 | 10 | typedef int sig_atomic_t; /* Atomic entity type (ANSI) */ 11 | #if __BSD_VISIBLE 12 | typedef _sig_func_ptr sig_t; /* BSD naming */ 13 | #endif 14 | #if __GNU_VISIBLE 15 | typedef _sig_func_ptr sighandler_t; /* glibc naming */ 16 | #endif 17 | 18 | #define SIG_DFL ((_sig_func_ptr)0) /* Default action */ 19 | #define SIG_IGN ((_sig_func_ptr)1) /* Ignore action */ 20 | #define SIG_ERR ((_sig_func_ptr)-1) /* Error return */ 21 | 22 | struct _reent; 23 | 24 | _sig_func_ptr _signal_r (struct _reent *, int, _sig_func_ptr); 25 | int _raise_r (struct _reent *, int); 26 | 27 | #ifndef _REENT_ONLY 28 | _sig_func_ptr signal (int, _sig_func_ptr); 29 | int raise (int); 30 | void psignal (int, const char *); 31 | #endif 32 | 33 | _END_STD_C 34 | 35 | #endif /* _SIGNAL_H_ */ 36 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/ssp/stdlib.h: -------------------------------------------------------------------------------- 1 | #ifndef _SSP_STDLIB_H_ 2 | #define _SSP_STDLIB_H_ 3 | 4 | #include 5 | 6 | #if __SSP_FORTIFY_LEVEL > 0 7 | __BEGIN_DECLS 8 | 9 | __ssp_decl(size_t, mbstowcs, (wchar_t *__buf, const char *__src, size_t __n)) 10 | { 11 | if (__buf != NULL) 12 | __ssp_check(__buf, __n * sizeof(wchar_t), __ssp_bos); 13 | return __ssp_real_mbstowcs (__buf, __src, __n); 14 | } 15 | 16 | __ssp_redirect_raw(size_t, wcstombs, \ 17 | (char *__buf, const wchar_t *__src, size_t __len), \ 18 | (__buf, __src, __len), __buf != NULL, __ssp_bos); 19 | 20 | __ssp_decl(int, wctomb, (char *__buf, wchar_t __wc)) 21 | { 22 | if (__buf != NULL) 23 | __ssp_check(__buf, MB_CUR_MAX, __ssp_bos); 24 | return __ssp_real_wctomb (__buf, __wc); 25 | } 26 | 27 | __END_DECLS 28 | 29 | #endif /* __SSP_FORTIFY_LEVEL > 0 */ 30 | #endif /* _SSP_STDLIB_H_ */ 31 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/sys/_locale.h: -------------------------------------------------------------------------------- 1 | /* Definition of opaque POSIX-1.2008 type locale_t for userspace. */ 2 | 3 | #ifndef _SYS__LOCALE_H 4 | #define _SYS__LOCALE_H 5 | 6 | #include 7 | #include 8 | 9 | struct __locale_t; 10 | typedef struct __locale_t *locale_t; 11 | 12 | #endif /* _SYS__LOCALE_H */ 13 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/sys/custom_file.h: -------------------------------------------------------------------------------- 1 | #error System-specific custom_file.h is missing. 2 | 3 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/sys/dir.h: -------------------------------------------------------------------------------- 1 | /* BSD predecessor of POSIX.1 and struct dirent */ 2 | 3 | #ifndef _SYS_DIR_H_ 4 | #define _SYS_DIR_H_ 5 | 6 | #include 7 | 8 | #define direct dirent 9 | 10 | #endif /*_SYS_DIR_H_*/ 11 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/sys/fcntl.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_FCNTL_H_ 2 | #define _SYS_FCNTL_H_ 3 | #include 4 | #endif 5 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/sys/file.h: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/sys/param.h: -------------------------------------------------------------------------------- 1 | /* This is a dummy file, not customized for any 2 | particular system. If there is a param.h in libc/sys/SYSDIR/sys, 3 | it will override this one. */ 4 | 5 | #ifndef _SYS_PARAM_H 6 | # define _SYS_PARAM_H 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | #ifndef NBBY 14 | # define NBBY 8 /* number of bits in a byte */ 15 | #endif 16 | #ifndef HZ 17 | # define HZ (60) 18 | #endif 19 | #ifndef NOFILE 20 | # define NOFILE (60) 21 | #endif 22 | #ifndef PATHSIZE 23 | # define PATHSIZE (1024) 24 | #endif 25 | 26 | #define MAXPATHLEN PATH_MAX 27 | 28 | #define MAX(a,b) ((a) > (b) ? (a) : (b)) 29 | #define MIN(a,b) ((a) < (b) ? (a) : (b)) 30 | 31 | #ifndef howmany 32 | #define howmany(x, y) (((x)+((y)-1))/(y)) 33 | #endif 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/sys/resource.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_RESOURCE_H_ 2 | #define _SYS_RESOURCE_H_ 3 | 4 | #include 5 | 6 | #define RUSAGE_SELF 0 /* calling process */ 7 | #define RUSAGE_CHILDREN -1 /* terminated child processes */ 8 | 9 | struct rusage { 10 | struct timeval ru_utime; /* user time used */ 11 | struct timeval ru_stime; /* system time used */ 12 | }; 13 | 14 | int getrusage (int, struct rusage*); 15 | 16 | #endif 17 | 18 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/sys/statvfs.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_STATVFS_H 2 | #define _SYS_STATVFS_H 3 | 4 | 5 | #define ST_RDONLY 0x0001 6 | #define ST_NOSUID 0x0002 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | #include 13 | 14 | struct statvfs { 15 | unsigned long f_bsize; 16 | unsigned long f_frsize; 17 | fsblkcnt_t f_blocks; 18 | fsblkcnt_t f_bfree; 19 | fsblkcnt_t f_bavail; 20 | fsfilcnt_t f_files; 21 | fsfilcnt_t f_ffree; 22 | fsfilcnt_t f_favail; 23 | unsigned long f_fsid; 24 | unsigned long f_flag; 25 | unsigned long f_namemax; 26 | }; 27 | 28 | int statvfs(const char *path, struct statvfs *buf); 29 | 30 | #ifdef __cplusplus 31 | } 32 | #endif 33 | 34 | 35 | #endif // _SYS_STATVFS_H -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/sys/stdio.h: -------------------------------------------------------------------------------- 1 | #ifndef _NEWLIB_STDIO_H 2 | #define _NEWLIB_STDIO_H 3 | 4 | /* Internal locking macros, used to protect stdio functions. In the 5 | general case, expand to nothing. */ 6 | #if !defined(_flockfile) 7 | # if !defined(__SINGLE_THREAD__) 8 | # define _flockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __flockfile(fp); } 9 | extern void __flockfile(FILE *fp); 10 | # else 11 | # define _flockfile(fp) 12 | # endif 13 | #endif /* __SINGLE_THREAD__ */ 14 | 15 | #if !defined(_funlockfile) 16 | # if !defined(__SINGLE_THREAD__) 17 | # define _funlockfile(fp) { ((fp)->_flags&__SSTR) ? 0 : __funlockfile(fp); } 18 | extern void __funlockfile(FILE *fp); 19 | # else 20 | # define _funlockfile(fp) 21 | # endif 22 | #endif /* __SINGLE_THREAD__ */ 23 | 24 | #endif /* _NEWLIB_STDIO_H */ 25 | 26 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/sys/string.h: -------------------------------------------------------------------------------- 1 | /* This is a dummy used as a placeholder for 2 | systems that need to have a special header file. */ 3 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/sys/timeb.h: -------------------------------------------------------------------------------- 1 | /* timeb.h -- An implementation of the standard Unix file. 2 | Written by Ian Lance Taylor 3 | Public domain; no rights reserved. 4 | 5 | declares the structure used by the ftime function, as 6 | well as the ftime function itself. Newlib does not provide an 7 | implementation of ftime. */ 8 | 9 | #ifndef _SYS_TIMEB_H 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | #define _SYS_TIMEB_H 16 | 17 | #include <_ansi.h> 18 | #include 19 | 20 | #if !defined(__time_t_defined) && !defined(_TIME_T_DECLARED) 21 | typedef _TIME_T_ time_t; 22 | #define __time_t_defined 23 | #define _TIME_T_DECLARED 24 | #endif 25 | 26 | struct timeb 27 | { 28 | time_t time; 29 | unsigned short millitm; 30 | short timezone; 31 | short dstflag; 32 | }; 33 | 34 | extern int ftime (struct timeb *); 35 | 36 | #ifdef __cplusplus 37 | } 38 | #endif 39 | 40 | #endif /* ! defined (_SYS_TIMEB_H) */ 41 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/sys/times.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_TIMES_H 2 | #ifdef __cplusplus 3 | extern "C" { 4 | #endif 5 | #define _SYS_TIMES_H 6 | 7 | #include <_ansi.h> 8 | #include 9 | 10 | #if !defined(__clock_t_defined) && !defined(_CLOCK_T_DECLARED) 11 | typedef _CLOCK_T_ clock_t; 12 | #define __clock_t_defined 13 | #define _CLOCK_T_DECLARED 14 | #endif 15 | 16 | /* Get Process Times, P1003.1b-1993, p. 92 */ 17 | struct tms { 18 | clock_t tms_utime; /* user time */ 19 | clock_t tms_stime; /* system time */ 20 | clock_t tms_cutime; /* user time, children */ 21 | clock_t tms_cstime; /* system time, children */ 22 | }; 23 | 24 | clock_t times (struct tms *); 25 | #ifdef _COMPILING_NEWLIB 26 | clock_t _times (struct tms *); 27 | #endif 28 | 29 | #ifdef __cplusplus 30 | } 31 | #endif 32 | #endif /* !_SYS_TIMES_H */ 33 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/sys/utime.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_UTIME_H 2 | #define _SYS_UTIME_H 3 | 4 | /* This is a dummy file, not customized for any 5 | particular system. If there is a utime.h in libc/sys/SYSDIR/sys, 6 | it will override this one. */ 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | struct utimbuf 13 | { 14 | time_t actime; 15 | time_t modtime; 16 | }; 17 | 18 | /* Functions */ 19 | 20 | int utime( 21 | const char *path, 22 | const struct utimbuf *times 23 | ); 24 | 25 | #ifdef __cplusplus 26 | }; 27 | #endif 28 | 29 | #endif /* _SYS_UTIME_H */ 30 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/sys/wait.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_WAIT_H 2 | #define _SYS_WAIT_H 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include 9 | 10 | #define WNOHANG 1 11 | #define WUNTRACED 2 12 | 13 | /* A status looks like: 14 | <1 byte info> <1 byte code> 15 | 16 | == 0, child has exited, info is the exit value 17 | == 1..7e, child has exited, info is the signal number. 18 | == 7f, child has stopped, info was the signal number. 19 | == 80, there was a core dump. 20 | */ 21 | 22 | #define WIFEXITED(w) (((w) & 0xff) == 0) 23 | #define WIFSIGNALED(w) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f)) 24 | #define WIFSTOPPED(w) (((w) & 0xff) == 0x7f) 25 | #define WEXITSTATUS(w) (((w) >> 8) & 0xff) 26 | #define WTERMSIG(w) ((w) & 0x7f) 27 | #define WSTOPSIG WEXITSTATUS 28 | 29 | pid_t wait (int *); 30 | pid_t waitpid (pid_t, int *, int); 31 | 32 | #ifdef _COMPILING_NEWLIB 33 | pid_t _wait (int *); 34 | #endif 35 | 36 | /* Provide prototypes for most of the _ names that are 37 | provided in newlib for some compilers. */ 38 | pid_t _wait (int *); 39 | 40 | #ifdef __cplusplus 41 | }; 42 | #endif 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/termios.h: -------------------------------------------------------------------------------- 1 | #ifdef __cplusplus 2 | extern "C" { 3 | #endif 4 | #include 5 | #ifdef __cplusplus 6 | } 7 | #endif 8 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/unistd.h: -------------------------------------------------------------------------------- 1 | #ifndef _UNISTD_H_ 2 | #define _UNISTD_H_ 3 | 4 | # include 5 | 6 | #endif /* _UNISTD_H_ */ 7 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/utime.h: -------------------------------------------------------------------------------- 1 | #ifdef __cplusplus 2 | extern "C" { 3 | #endif 4 | 5 | #include <_ansi.h> 6 | 7 | /* The utime function is defined in libc/sys//sys if it exists. */ 8 | #include 9 | 10 | #ifdef __cplusplus 11 | } 12 | #endif 13 | -------------------------------------------------------------------------------- /vendor/devkitpro/devkitPPC/powerpc-eabi/include/utmp.h: -------------------------------------------------------------------------------- 1 | #ifdef __cplusplus 2 | extern "C" { 3 | #endif 4 | #include 5 | #ifdef __cplusplus 6 | } 7 | #endif 8 | 9 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/Makefile: -------------------------------------------------------------------------------- 1 | DATESTRING := $(shell date +%Y)$(shell date +%m)$(shell date +%d) 2 | 3 | MAKEFILES := $(shell find . -mindepth 2 -name Makefile) 4 | 5 | #--------------------------------------------------------------------------------- 6 | all: examples 7 | #--------------------------------------------------------------------------------- 8 | @rm -fr bin 9 | @mkdir -p bin 10 | @find . -name "*.dol" ! -path "./bin/*" -exec cp -fv {} bin \; 11 | 12 | #--------------------------------------------------------------------------------- 13 | examples: 14 | #--------------------------------------------------------------------------------- 15 | @for i in $(MAKEFILES); do $(MAKE) -C `dirname $$i` || exit 1; done; 16 | 17 | #--------------------------------------------------------------------------------- 18 | clean: 19 | #--------------------------------------------------------------------------------- 20 | @rm -fr bin 21 | @rm -f *.bz2 22 | @for i in $(MAKEFILES); do $(MAKE) -C `dirname $$i` clean || exit 1; done; 23 | 24 | #--------------------------------------------------------------------------------- 25 | dist: clean 26 | #--------------------------------------------------------------------------------- 27 | @tar -cvjf gamecube-examples-$(DATESTRING).tar.bz2 * 28 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/audio/modplay/data/technique.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/audio/modplay/data/technique.mod -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/audio/mp3player/data/sample.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/audio/mp3player/data/sample.mp3 -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/audio/oggplayer/data/sample.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/audio/oggplayer/data/sample.ogg -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/audio/oggplayer/source/oggplayer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/audio/oggplayer/source/oggplayer.c -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/audio/oggplayer/source/oggplayer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/audio/oggplayer/source/oggplayer.h -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/devices/dvd/Makefile: -------------------------------------------------------------------------------- 1 | SUBDIRS:= `ls | egrep -v '^(CVS)$$'` 2 | 3 | all: 4 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then $(MAKE) -C $$i || { exit 1;} fi; done; 5 | 6 | clean: 7 | @rm -f *.bz2 8 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then $(MAKE) -C $$i clean || { exit 1;} fi; done; 9 | 10 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/devices/network/Makefile: -------------------------------------------------------------------------------- 1 | SUBDIRS:= `ls | egrep -v '^(CVS)$$'` 2 | 3 | all: 4 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then $(MAKE) -C $$i || { exit 1;} fi; done; 5 | 6 | clean: 7 | @rm -f *.bz2 8 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then $(MAKE) -C $$i clean || { exit 1;} fi; done; 9 | 10 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/devices/usbgecko/Makefile: -------------------------------------------------------------------------------- 1 | SUBDIRS:= `ls | egrep -v '^(CVS)$$'` 2 | 3 | all: 4 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then $(MAKE) -C $$i || { exit 1;} fi; done; 5 | 6 | clean: 7 | @rm -f *.bz2 8 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then $(MAKE) -C $$i clean || { exit 1;} fi; done; 9 | 10 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/acube/acube.prj: -------------------------------------------------------------------------------- 1 | [Project ID] 2 | Signature=UE Proj: v.1 3 | [Group] 4 | 0=source 5 | 1= 6 | [Project Information] 7 | Filter=*.* 8 | Project Directory=C:\projects\devkitPro\examples\gamecube\acube\ 9 | Use Relative Directory=1 10 | Relative to Project File=1 11 | Project Wordfile= 12 | Project Tagfile= 13 | Create Tagfile=0 14 | Include Sub Directories=0 15 | [Open Files] 16 | Open File0=D:\projects\devkitPro\examples\gamecube\graphics\gx\acube\source\acube.c 17 | Active File Display Mode=3 18 | Open File Pos0=0 19 | Open File Line0=0 20 | Active File Index=0 21 | Open File Window Pos0=2,3,-1,-1,-4,-30,0,0,1030,327 22 | Open File1= 23 | Open File Pos1=198 24 | Open File Line1=0 25 | Open File Window Pos1=0,1,-1,-1,-4,-23,132,132,954,576 26 | Open File2= 27 | Open File Pos2=6208 28 | Open File Line2=3249 29 | Open File Window Pos2=2,3,-1,-1,-4,-23,176,176,1004,633 30 | Open File3= 31 | Open File Pos3=0 32 | Open File Line3=984 33 | Open File Window Pos3=0,1,-1,-1,-4,-23,66,66,968,435 34 | Open File4=C:\projects\gba\test\SMSflasher\test\src\main.c 35 | Open File Pos4=0 36 | Open File Line4=0 37 | Open File Window Pos4=2,3,-1,-1,-4,-23,88,88,990,457 38 | Open File5= 39 | [File View] 40 | Current Select=Project Files\source\source\acube.c 41 | Scroll Position=0 42 | [Files - source] 43 | 0=source\acube.c 44 | [Files] 45 | 0=Makefile 46 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/gxSprites/textures/ballsprites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/graphics/gx/gxSprites/textures/ballsprites.png -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/gxSprites/textures/textures.scf: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson06/textures/NeHe.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson06/textures/NeHe.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson06/textures/NeHe.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson07/textures/crate.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson07/textures/crate.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson07/textures/crate.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson08/textures/Glass.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson08/textures/Glass.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson08/textures/glass.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson09/textures/Star.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson09/textures/Star.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson09/textures/startex.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson10/textures/Mud.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson10/textures/Mud.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson10/textures/mud.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson11/textures/Tim.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson11/textures/Tim.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson11/textures/Tim.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson12/textures/Cube.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson12/textures/Cube.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson12/textures/Cube.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson19/textures/Particle.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson19/textures/Particle.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/neheGX/lesson19/textures/Particle.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/texturetest/texture.prj: -------------------------------------------------------------------------------- 1 | [Project ID] 2 | Signature=UE Proj: v.1 3 | [Group] 4 | 0=source 5 | 1= 6 | [Project Information] 7 | Filter=*.* 8 | Project Directory=C:\projects\devkitPro\examples\gamecube\acube\ 9 | Use Relative Directory=1 10 | Relative to Project File=1 11 | Project Wordfile= 12 | Project Tagfile= 13 | Create Tagfile=0 14 | Include Sub Directories=0 15 | [Open Files] 16 | Open File0= 17 | Active File Display Mode=-1 18 | [File View] 19 | Current Select=Project Files 20 | Scroll Position=0 21 | [Files - source] 22 | 0=source\picture.S 23 | 1=source\texture.c 24 | [Files] 25 | 0=Makefile 26 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/texturetest/textures/drunkentimes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/gamecube/graphics/gx/texturetest/textures/drunkentimes.jpg -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/texturetest/textures/textures.scf: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/graphics/gx/triangle/triangle.prj: -------------------------------------------------------------------------------- 1 | [Project ID] 2 | Signature=UE Proj: v.1 3 | [Group] 4 | 0=source 5 | 1= 6 | [Project Information] 7 | Filter=*.* 8 | Project Directory=C:\projects\devkitPro\examples\gamecube\acube\ 9 | Use Relative Directory=1 10 | Relative to Project File=1 11 | Project Wordfile= 12 | Project Tagfile= 13 | Create Tagfile=0 14 | Include Sub Directories=0 15 | [Open Files] 16 | Open File0=C:\projects\gba\test\smstesting\smstest\src\main.c 17 | Active File Display Mode=3 18 | Open File Pos0=0 19 | Open File Line0=576 20 | Open File Window Pos0=2,3,-1,-1,-4,-23,0,0,898,365 21 | Open File1= 22 | Open File Pos1=0 23 | Open File Line1=5339 24 | Active File Index=0 25 | Open File Window Pos1=2,3,-1,-1,-4,-23,22,22,924,391 26 | Open File2= 27 | [File View] 28 | Current Select=Project Files 29 | Scroll Position=0 30 | [Files] 31 | 0=Makefile 32 | [Files - source] 33 | 0=source\triangle.c 34 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/system/Makefile: -------------------------------------------------------------------------------- 1 | SUBDIRS:= `ls | egrep -v '^(CVS)$$'` 2 | 3 | DATESTRING := $(shell date +%Y)$(shell date +%m)$(shell date +%d) 4 | 5 | all: 6 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then make -C $$i || { exit 1;} fi; done; 7 | 8 | clean: 9 | @rm -f *.bz2 10 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then make -C $$i clean || { exit 1;} fi; done; 11 | 12 | install: 13 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then make -C $$i install || { exit 1;} fi; done; 14 | 15 | dist: clean 16 | @tar --exclude=*CVS* --exclude=.svn -cvjf gamecube-examples-$(DATESTRING).tar.bz2 * 17 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/gamecube/template/source/template.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | static void *xfb = NULL; 9 | static GXRModeObj *rmode = NULL; 10 | 11 | void *Initialise(); 12 | 13 | int main(int argc, char **argv) { 14 | 15 | xfb = Initialise(); 16 | 17 | printf("\nHello World!\n"); 18 | 19 | while(1) { 20 | 21 | VIDEO_WaitVSync(); 22 | PAD_ScanPads(); 23 | 24 | int buttonsDown = PAD_ButtonsDown(0); 25 | 26 | if( buttonsDown & PAD_BUTTON_A ) { 27 | printf("Button A pressed.\n"); 28 | } 29 | 30 | if (buttonsDown & PAD_BUTTON_START) { 31 | exit(0); 32 | } 33 | } 34 | 35 | return 0; 36 | } 37 | 38 | void * Initialise() { 39 | 40 | void *framebuffer; 41 | 42 | VIDEO_Init(); 43 | PAD_Init(); 44 | 45 | rmode = VIDEO_GetPreferredMode(NULL); 46 | 47 | framebuffer = MEM_K0_TO_K1(SYS_AllocateFramebuffer(rmode)); 48 | console_init(framebuffer,20,20,rmode->fbWidth,rmode->xfbHeight,rmode->fbWidth*VI_DISPLAY_PIX_SZ); 49 | 50 | VIDEO_Configure(rmode); 51 | VIDEO_SetNextFramebuffer(framebuffer); 52 | VIDEO_SetBlack(FALSE); 53 | VIDEO_Flush(); 54 | VIDEO_WaitVSync(); 55 | if(rmode->viTVMode&VI_NON_INTERLACE) VIDEO_WaitVSync(); 56 | 57 | return framebuffer; 58 | 59 | } 60 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/Makefile: -------------------------------------------------------------------------------- 1 | DATESTRING := $(shell date +%Y)$(shell date +%m)$(shell date +%d) 2 | 3 | MAKEFILES := $(shell find . -mindepth 2 -name Makefile) 4 | 5 | #--------------------------------------------------------------------------------- 6 | all: examples 7 | #--------------------------------------------------------------------------------- 8 | @rm -fr bin 9 | @mkdir -p bin 10 | @find . -name "*.dol" ! -path "./bin/*" -exec cp -fv {} bin \; 11 | 12 | #--------------------------------------------------------------------------------- 13 | examples: 14 | #--------------------------------------------------------------------------------- 15 | @for i in $(MAKEFILES); do $(MAKE) -C `dirname $$i` || exit 1; done; 16 | 17 | #--------------------------------------------------------------------------------- 18 | clean: 19 | #--------------------------------------------------------------------------------- 20 | @rm -fr bin 21 | @rm -f *.bz2 22 | @for i in $(MAKEFILES); do $(MAKE) -C `dirname $$i` clean || exit 1; done; 23 | 24 | #--------------------------------------------------------------------------------- 25 | dist: clean 26 | #--------------------------------------------------------------------------------- 27 | @tar -cvjf wii-examples-$(DATESTRING).tar.bz2 * 28 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/audio/modplay/data/technique.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/wii/audio/modplay/data/technique.mod -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/audio/mp3player/data/sample.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/wii/audio/mp3player/data/sample.mp3 -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/audio/oggplayer/data/sample.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/wii/audio/oggplayer/data/sample.ogg -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/audio/oggplayer/source/oggplayer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/wii/audio/oggplayer/source/oggplayer.c -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/audio/oggplayer/source/oggplayer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/wii/audio/oggplayer/source/oggplayer.h -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/devices/network/Makefile: -------------------------------------------------------------------------------- 1 | SUBDIRS:= `ls | egrep -v '^(CVS)$$'` 2 | 3 | all: 4 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then $(MAKE) -C $$i || { exit 1;} fi; done; 5 | 6 | clean: 7 | @rm -f *.bz2 8 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then $(MAKE) -C $$i clean || { exit 1;} fi; done; 9 | 10 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/devices/usbgecko/Makefile: -------------------------------------------------------------------------------- 1 | SUBDIRS:= `ls | egrep -v '^(CVS)$$'` 2 | 3 | DATESTRING := $(shell date +%Y)$(shell date +%m)$(shell date +%d) 4 | 5 | all: 6 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then $(MAKE) -C $$i || { exit 1;} fi; done; 7 | 8 | clean: 9 | @rm -f *.bz2 10 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then $(MAKE) -C $$i clean || { exit 1;} fi; done; 11 | 12 | dist: clean 13 | @tar --exclude=*CVS* -cvjf wii-examples-$(DATESTRING).tar.bz2 * 14 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/devices/usbgecko/gdbstub/gdb.txt: -------------------------------------------------------------------------------- 1 | target remote /dev/cu.usbserial-GECKUSB0 2 | 3 | 4 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/devices/usbkeyboard/Makefile: -------------------------------------------------------------------------------- 1 | SUBDIRS:= `ls | egrep -v '^(CVS)$$'` 2 | 3 | DATESTRING := $(shell date +%Y)$(shell date +%m)$(shell date +%d) 4 | 5 | all: 6 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then $(MAKE) -C $$i || { exit 1;} fi; done; 7 | 8 | clean: 9 | @rm -f *.bz2 10 | @for i in $(SUBDIRS); do if test -e $$i/Makefile ; then $(MAKE) -C $$i clean || { exit 1;} fi; done; 11 | 12 | dist: clean 13 | @tar --exclude=*CVS* -cvjf wii-examples-$(DATESTRING).tar.bz2 * 14 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/gxSprites/textures/ballsprites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/wii/graphics/gx/gxSprites/textures/ballsprites.png -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/gxSprites/textures/textures.scf: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson06/textures/NeHe.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson06/textures/NeHe.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson06/textures/NeHe.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson07/textures/crate.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson07/textures/crate.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson07/textures/crate.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson08/textures/Glass.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson08/textures/Glass.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson08/textures/glass.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson09/textures/Star.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson09/textures/Star.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson09/textures/startex.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson10/textures/Mud.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson10/textures/Mud.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson10/textures/mud.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson11/textures/Tim.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson11/textures/Tim.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson11/textures/Tim.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson12/textures/Cube.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson12/textures/Cube.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson12/textures/Cube.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson19/textures/Particle.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson19/textures/Particle.bmp -------------------------------------------------------------------------------- /vendor/devkitpro/examples/wii/graphics/gx/neheGX/lesson19/textures/Particle.scf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/gcmodplay.h: -------------------------------------------------------------------------------- 1 | #ifndef __GCMODPLAY_H__ 2 | #define __GCMODPLAY_H__ 3 | 4 | #include 5 | #include "modplay/modplay.h" 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif /* __cplusplus */ 10 | 11 | typedef struct _modsndbuf { 12 | u32 freq; 13 | u16 fmt; 14 | u32 chans; 15 | f32 samples; 16 | void *usr_data; 17 | void (*callback)(void *,u8 *,u32); 18 | } MODSNDBUF; 19 | 20 | typedef struct _modplay { 21 | MOD mod; 22 | BOOL playing,paused; 23 | BOOL bits,stereo,manual_polling; 24 | u32 playfreq,numSFXChans; 25 | MODSNDBUF soundBuf; 26 | } MODPlay; 27 | 28 | void MODPlay_Init(MODPlay *mod); 29 | s32 MODPlay_SetFrequency(MODPlay *mod,u32 freq); 30 | void MODPlay_SetStereo(MODPlay *mod,BOOL stereo); 31 | s32 MODPlay_SetMOD(MODPlay *mod,const void *mem); 32 | void MODPlay_Unload(MODPlay *mod); 33 | s32 MODPlay_AllocSFXChannels(MODPlay *mod,u32 sfxchans); 34 | s32 MODPlay_Start(MODPlay *mod); 35 | s32 MODPlay_Stop(MODPlay *mod); 36 | s32 MODPlay_TriggerNote(MODPlay *mod,u32 chan,u8 inst,u16 freq,u8 vol); 37 | s32 MODPlay_Pause(MODPlay *mod,BOOL); 38 | void MODPlay_SetVolume(MODPlay * mod, s32 musicvolume, s32 sfxvolume); 39 | 40 | #ifdef __cplusplus 41 | } 42 | #endif /* __cplusplus */ 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/gcutil.h: -------------------------------------------------------------------------------- 1 | #ifndef __GCUTIL_H__ 2 | #define __GCUTIL_H__ 3 | 4 | #ifndef ATTRIBUTE_ALIGN 5 | # define ATTRIBUTE_ALIGN(v) __attribute__((aligned(v))) 6 | #endif 7 | #ifndef ATTRIBUTE_PACKED 8 | # define ATTRIBUTE_PACKED __attribute__((packed)) 9 | #endif 10 | 11 | #endif /* _GCUTIL_H */ 12 | 13 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/iso9660.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * ISO9660 devoptab 3 | * 4 | * Copyright (C) 2008-2010 5 | * tipoloski, clava, shagkur, Tantric, joedj 6 | ****************************************************************************/ 7 | 8 | #ifndef __ISO9660_H__ 9 | #define __ISO9660_H__ 10 | 11 | #include 12 | 13 | #define ISO_MAXPATHLEN 128 14 | 15 | #ifdef __cplusplus 16 | extern "C" { 17 | #endif 18 | 19 | bool ISO9660_Mount(const char* name, const DISC_INTERFACE* disc_interface); 20 | bool ISO9660_Unmount(const char* name); 21 | const char *ISO9660_GetVolumeLabel(const char *name); 22 | 23 | #ifdef __cplusplus 24 | } 25 | #endif 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/libfatversion.h: -------------------------------------------------------------------------------- 1 | #ifndef __LIBFATVERSION_H__ 2 | #define __LIBFATVERSION_H__ 3 | 4 | #define _LIBFAT_MAJOR_ 1 5 | #define _LIBFAT_MINOR_ 1 6 | #define _LIBFAT_PATCH_ 5 7 | 8 | #define _LIBFAT_STRING "libFAT Release 1.1.5" 9 | 10 | #endif // __LIBFATVERSION_H__ 11 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/mp3player.h: -------------------------------------------------------------------------------- 1 | #ifndef __MP3PLAYER_H__ 2 | #define __MP3PLAYER_H__ 3 | 4 | #include 5 | #include 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif /* __cplusplus */ 10 | 11 | void MP3Player_Init(void); 12 | void MP3Player_Stop(void); 13 | BOOL MP3Player_IsPlaying(void); 14 | void MP3Player_Volume(u32 volume); 15 | s32 MP3Player_PlayBuffer(const void *buffer,s32 len,void (*filterfunc)(struct mad_stream *,struct mad_frame *)); 16 | s32 MP3Player_PlayFile(void *cb_data,s32 (*reader)(void *,void *,s32),void (*filterfunc)(struct mad_stream *,struct mad_frame *)); 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif /* __cplusplus */ 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/color.h: -------------------------------------------------------------------------------- 1 | #ifndef __COLOR_H__ 2 | #define __COLOR_H__ 3 | 4 | // luminance is stored twice, thus one of the lum. is 5 | // redundant, but this way we can fill the screen. 6 | 7 | #define COLOR_BLACK (0x00800080) 8 | #define COLOR_MAROON (0x266A26C0) 9 | #define COLOR_GREEN (0x4B554B4A) 10 | #define COLOR_OLIVE (0x7140718A) 11 | #define COLOR_NAVY (0x0EC00E75) 12 | #define COLOR_PURPLE (0x34AA34B5) 13 | #define COLOR_TEAL (0x59955940) 14 | #define COLOR_GRAY (0x80808080) 15 | #define COLOR_SILVER (0xC080C080) 16 | #define COLOR_RED (0x4C544CFF) 17 | #define COLOR_LIME (0x952B9515) 18 | #define COLOR_YELLOW (0xE100E194) 19 | #define COLOR_BLUE (0x1DFF1D6B) 20 | #define COLOR_FUCHSIA (0x69D469EA) 21 | #define COLOR_AQUA (0xB2ABB200) 22 | #define COLOR_WHITE (0xFF80FF80) 23 | #define COLOR_MONEYGREEN (0xD076D074) 24 | #define COLOR_SKYBLUE (0xC399C36A) 25 | #define COLOR_CREAM (0xFA79FA82) 26 | #define COLOR_MEDGRAY (0xA082A07F) 27 | 28 | #endif /* COLOR_H */ 29 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/consol.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/libogc/include/ogc/consol.h -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/context.h: -------------------------------------------------------------------------------- 1 | #ifndef __EXCONTEXT_H__ 2 | #define __EXCONTEXT_H__ 3 | 4 | #define NUM_EXCEPTIONS 15 5 | 6 | #define EX_SYS_RESET 0 7 | #define EX_MACH_CHECK 1 8 | #define EX_DSI 2 9 | #define EX_ISI 3 10 | #define EX_INT 4 11 | #define EX_ALIGN 5 12 | #define EX_PRG 6 13 | #define EX_FP 7 14 | #define EX_DEC 8 15 | #define EX_SYS_CALL 9 16 | #define EX_TRACE 10 17 | #define EX_PERF 11 18 | #define EX_IABR 12 19 | #define EX_RESV 13 20 | #define EX_THERM 14 21 | 22 | #ifndef _LANGUAGE_ASSEMBLY 23 | 24 | #include 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif /* __cplusplus */ 29 | 30 | typedef struct _excption_frame { 31 | u32 EXCPT_Number; 32 | u32 SRR0,SRR1; 33 | u32 GPR[32]; 34 | u32 GQR[8]; 35 | u32 CR, LR, CTR, XER, MSR, DAR; 36 | 37 | u16 state; //used to determine whether to restore the fpu context or not 38 | u16 mode; //unused 39 | 40 | f64 FPR[32]; 41 | u64 FPSCR; 42 | f64 PSFPR[32]; 43 | } frame_context; 44 | 45 | #ifdef __cplusplus 46 | } 47 | #endif /* __cplusplus */ 48 | 49 | #endif //!_LANGUAGE_ASSEMBLY 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/libversion.h: -------------------------------------------------------------------------------- 1 | #ifndef __LIBVERSION_H__ 2 | #define __LIBVERSION_H__ 3 | 4 | #define _V_MAJOR_ 2 5 | #define _V_MINOR_ 1 6 | #define _V_PATCH_ 0 7 | 8 | #define _V_DATE_ __DATE__ 9 | #define _V_TIME_ __TIME__ 10 | 11 | #define _V_STRING "libOGC Release 2.1.0" 12 | 13 | #endif // __LIBVERSION_H__ 14 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/lwp_config.h: -------------------------------------------------------------------------------- 1 | #ifndef __LWP_CONFIG_H__ 2 | #define __LWP_CONFIG_H__ 3 | 4 | 5 | #define LWP_MAX_MQUEUES 64 6 | 7 | #define LWP_MAX_MUTEXES 64 8 | 9 | #define LWP_MAX_THREADS 16 10 | 11 | #define LWP_MAX_SEMAS 64 12 | 13 | #define LWP_MAX_CONDVARS 64 14 | 15 | #define LWP_MAX_TQUEUES 64 16 | 17 | #define LWP_MAX_WATCHDOGS 64 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/lwp_objmgr.h: -------------------------------------------------------------------------------- 1 | #ifndef __LWP_OBJMGR_H__ 2 | #define __LWP_OBJMGR_H__ 3 | 4 | #include 5 | #include "lwp_queue.h" 6 | 7 | #define LWP_OBJMASKTYPE(type) ((type)<<16) 8 | #define LWP_OBJMASKID(id) ((id)&0xffff) 9 | #define LWP_OBJTYPE(id) ((id)>>16) 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | typedef struct _lwp_objinfo lwp_objinfo; 16 | 17 | typedef struct _lwp_obj { 18 | lwp_node node; 19 | s32 id; 20 | lwp_objinfo *information; 21 | } lwp_obj; 22 | 23 | struct _lwp_objinfo { 24 | u32 min_id; 25 | u32 max_id; 26 | u32 max_nodes; 27 | u32 node_size; 28 | lwp_obj **local_table; 29 | void *obj_blocks; 30 | lwp_queue inactives; 31 | u32 inactives_cnt; 32 | }; 33 | 34 | void __lwp_objmgr_initinfo(lwp_objinfo *info,u32 max_nodes,u32 node_size); 35 | void __lwp_objmgr_free(lwp_objinfo *info,lwp_obj *object); 36 | lwp_obj* __lwp_objmgr_allocate(lwp_objinfo *info); 37 | lwp_obj* __lwp_objmgr_get(lwp_objinfo *info,u32 id); 38 | lwp_obj* __lwp_objmgr_getisrdisable(lwp_objinfo *info,u32 id,u32 *p_level); 39 | lwp_obj* __lwp_objmgr_getnoprotection(lwp_objinfo *info,u32 id); 40 | 41 | #ifdef LIBOGC_INTERNAL 42 | #include 43 | #endif 44 | 45 | #ifdef __cplusplus 46 | } 47 | #endif 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/lwp_priority.h: -------------------------------------------------------------------------------- 1 | #ifndef __LWP_PRIORITY_H__ 2 | #define __LWP_PRIORITY_H__ 3 | 4 | #include 5 | #include "machine/processor.h" 6 | 7 | #define LWP_PRIO_MIN 0 8 | #define LWP_PRIO_MAX 255 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | typedef struct _priocntrl { 15 | u32 *minor; 16 | u32 ready_minor,ready_major; 17 | u32 block_minor,block_major; 18 | } prio_cntrl; 19 | 20 | extern vu32 _prio_major_bitmap; 21 | extern u32 _prio_bitmap[]; 22 | 23 | void __lwp_priority_init(void); 24 | 25 | #ifdef LIBOGC_INTERNAL 26 | #include 27 | #endif 28 | 29 | #ifdef __cplusplus 30 | } 31 | #endif 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/lwp_queue.h: -------------------------------------------------------------------------------- 1 | #ifndef __LWP_QUEUE_H__ 2 | #define __LWP_QUEUE_H__ 3 | 4 | #include 5 | 6 | //#define _LWPQ_DEBUG 7 | 8 | #ifdef _LWPQ_DEBUG 9 | extern int printk(const char *fmt,...); 10 | #endif 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | typedef struct _lwpnode { 17 | struct _lwpnode *next; 18 | struct _lwpnode *prev; 19 | } lwp_node; 20 | 21 | typedef struct _lwpqueue { 22 | lwp_node *first; 23 | lwp_node *perm_null; 24 | lwp_node *last; 25 | } lwp_queue; 26 | 27 | void __lwp_queue_initialize(lwp_queue *,void *,u32,u32); 28 | lwp_node* __lwp_queue_get(lwp_queue *); 29 | void __lwp_queue_append(lwp_queue *,lwp_node *); 30 | void __lwp_queue_extract(lwp_node *); 31 | void __lwp_queue_insert(lwp_node *,lwp_node *); 32 | 33 | #ifdef LIBOGC_INTERNAL 34 | #include 35 | #endif 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/lwp_sema.h: -------------------------------------------------------------------------------- 1 | #ifndef __LWP_SEMA_H__ 2 | #define __LWP_SEMA_H__ 3 | 4 | #include 5 | #include 6 | 7 | #define LWP_SEMA_MODEFIFO 0 8 | #define LWP_SEMA_MODEPRIORITY 1 9 | 10 | #define LWP_SEMA_SUCCESSFUL 0 11 | #define LWP_SEMA_UNSATISFIED_NOWAIT 1 12 | #define LWP_SEMA_DELETED 2 13 | #define LWP_SEMA_TIMEOUT 3 14 | #define LWP_SEMA_MAXCNT_EXCEEDED 4 15 | 16 | #ifdef __cplusplus 17 | extern "C" { 18 | #endif 19 | 20 | typedef struct _lwpsemattr { 21 | u32 max_cnt; 22 | u32 mode; 23 | } lwp_semattr; 24 | 25 | typedef struct _lwpsema { 26 | lwp_thrqueue wait_queue; 27 | lwp_semattr attrs; 28 | u32 count; 29 | } lwp_sema; 30 | 31 | void __lwp_sema_initialize(lwp_sema *sema,lwp_semattr *attrs,u32 init_count); 32 | u32 __lwp_sema_surrender(lwp_sema *sema,u32 id); 33 | u32 __lwp_sema_seize(lwp_sema *sema,u32 id,u32 wait,u64 timeout); 34 | void __lwp_sema_flush(lwp_sema *sema,u32 status); 35 | 36 | #ifdef LIBOGC_INTERNAL 37 | #include 38 | #endif 39 | 40 | #ifdef __cplusplus 41 | } 42 | #endif 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/lwp_stack.h: -------------------------------------------------------------------------------- 1 | #ifndef __LWP_STACK_H__ 2 | #define __LWP_STACK_H__ 3 | 4 | #include 5 | #include 6 | 7 | #define CPU_STACK_ALIGNMENT 8 8 | #define CPU_MINIMUM_STACK_SIZE 1024*8 9 | #define CPU_MINIMUM_STACK_FRAME_SIZE 16 10 | #define CPU_MODES_INTERRUPT_MASK 0x00000001 /* interrupt level in mode */ 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | u32 __lwp_stack_allocate(lwp_cntrl *,u32); 17 | void __lwp_stack_free(lwp_cntrl *); 18 | 19 | #ifdef LIBOGC_INTERNAL 20 | #include 21 | #endif 22 | 23 | #ifdef __cplusplus 24 | } 25 | #endif 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/lwp_tqdata.h: -------------------------------------------------------------------------------- 1 | #ifndef __LWP_TQDATA_H__ 2 | #define __LWP_TQDATA_H__ 3 | 4 | #define LWP_THREADQ_NUM_PRIOHEADERS 4 5 | #define LWP_THREADQ_PRIOPERHEADER 64 6 | #define LWP_THREADQ_REVERSESEARCHMASK 0x20 7 | 8 | #define LWP_THREADQ_SYNCHRONIZED 0 9 | #define LWP_THREADQ_NOTHINGHAPPEND 1 10 | #define LWP_THREADQ_TIMEOUT 2 11 | #define LWP_THREADQ_SATISFIED 3 12 | 13 | #define LWP_THREADQ_MODEFIFO 0 14 | #define LWP_THREADQ_MODEPRIORITY 1 15 | 16 | #ifdef __cplusplus 17 | extern "C" { 18 | #endif 19 | 20 | #include "lwp_queue.h" 21 | #include "lwp_priority.h" 22 | 23 | typedef struct _lwpthrqueue { 24 | union { 25 | lwp_queue fifo; 26 | lwp_queue priority[LWP_THREADQ_NUM_PRIOHEADERS]; 27 | } queues; 28 | u32 sync_state; 29 | u32 mode; 30 | u32 state; 31 | u32 timeout_state; 32 | } lwp_thrqueue; 33 | 34 | #ifdef __cplusplus 35 | } 36 | #endif 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/lwp_wkspace.h: -------------------------------------------------------------------------------- 1 | #ifndef __LWP_WKSPACE_H__ 2 | #define __LWP_WKSPACE_H__ 3 | 4 | #include 5 | #include 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | extern heap_cntrl __wkspace_heap; 12 | 13 | void __lwp_wkspace_init(u32 size); 14 | 15 | #ifdef LIBOGC_INTERNAL 16 | #include 17 | #endif 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/sys_state.h: -------------------------------------------------------------------------------- 1 | #ifndef __SYS_STATE_H__ 2 | #define __SYS_STATE_H__ 3 | 4 | #define SYS_STATE_BEFORE_INIT 0 5 | #define SYS_STATE_BEFORE_MT 1 6 | #define SYS_STATE_BEGIN_MT 2 7 | #define SYS_STATE_UP 3 8 | #define SYS_STATE_SHUTDOWN 4 9 | #define SYS_STATE_FAILED 5 10 | 11 | #include 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | extern u32 _sys_state_curr; 18 | 19 | #ifdef LIBOGC_INTERNAL 20 | #include 21 | #endif 22 | 23 | #ifdef __cplusplus 24 | } 25 | #endif 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/tpl.h: -------------------------------------------------------------------------------- 1 | #ifndef __TPL_H__ 2 | #define __TPL_H__ 3 | 4 | #include "gx.h" 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif /* __cplusplus */ 9 | 10 | typedef void* FHANDLE; 11 | 12 | // tdf file 13 | typedef struct _tplfile { 14 | int type; 15 | int ntextures; 16 | void *texdesc; 17 | FHANDLE tpl_file; 18 | } TPLFile; 19 | 20 | s32 TPL_OpenTPLFromFile(TPLFile* tdf, const char* file_name); 21 | s32 TPL_OpenTPLFromMemory(TPLFile* tdf, void *memory,u32 len); 22 | s32 TPL_GetTexture(TPLFile *tdf,s32 id,GXTexObj *texObj); 23 | s32 TPL_GetTextureCI(TPLFile *tdf,s32 id,GXTexObj *texObj,GXTlutObj *tlutObj,u8 tluts); 24 | s32 TPL_GetTextureInfo(TPLFile *tdf,s32 id,u32 *fmt,u16 *width,u16 *height); 25 | void TPL_CloseTPLFile(TPLFile *tdf); 26 | 27 | #ifdef __cplusplus 28 | } 29 | #endif /* __cplusplus */ 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/usbgecko.h: -------------------------------------------------------------------------------- 1 | #ifndef __USBGECKO_H___ 2 | #define __USBGECKO_H___ 3 | 4 | #include 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif /* __cplusplus */ 9 | 10 | void usb_flush(s32 chn); 11 | int usb_isgeckoalive(s32 chn); 12 | int usb_recvbuffer(s32 chn,void *buffer,int size); 13 | int usb_sendbuffer(s32 chn,const void *buffer,int size); 14 | int usb_recvbuffer_safe(s32 chn,void *buffer,int size); 15 | int usb_sendbuffer_safe(s32 chn,const void *buffer,int size); 16 | int usb_recvbuffer_ex(s32 chn,void *buffer,int size, int retries); 17 | int usb_sendbuffer_ex(s32 chn,const void *buffer,int size, int retries); 18 | int usb_recvbuffer_safe_ex(s32 chn,void *buffer,int size, int retries); 19 | int usb_sendbuffer_safe_ex(s32 chn,const void *buffer,int size, int retries); 20 | int usb_flashread(s32 chn, u32 offset, void *buffer, size_t length); 21 | int usb_flashwrite(s32 chn, u32 offset, const void *buffer, size_t length); 22 | int usb_flashverify(s32 chn); 23 | 24 | #ifdef __cplusplus 25 | } 26 | #endif /* __cplusplus */ 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogc/usbmouse.h: -------------------------------------------------------------------------------- 1 | #ifndef __USBMOUSE_H__ 2 | #define __USBMOUSE_H__ 3 | 4 | #if defined(HW_RVL) 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif /* __cplusplus */ 9 | 10 | typedef struct { 11 | u8 button; 12 | int rx; 13 | int ry; 14 | int rz; 15 | } mouse_event; 16 | 17 | s32 MOUSE_Init(void); 18 | s32 MOUSE_Deinit(void); 19 | 20 | s32 MOUSE_GetEvent(mouse_event *event); 21 | s32 MOUSE_FlushEvents(void); 22 | bool MOUSE_IsConnected(void); 23 | 24 | #ifdef __cplusplus 25 | } 26 | #endif /* __cplusplus */ 27 | 28 | #endif 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/ogcsys.h: -------------------------------------------------------------------------------- 1 | #ifndef __OGCSYS_H__ 2 | #define __OGCSYS_H__ 3 | 4 | #include 5 | #include 6 | 7 | #if defined(HW_RVL) 8 | #define TB_BUS_CLOCK 243000000u 9 | #define TB_CORE_CLOCK 729000000u 10 | #elif defined(HW_DOL) 11 | #define TB_BUS_CLOCK 162000000u 12 | #define TB_CORE_CLOCK 486000000u 13 | #endif 14 | #define TB_TIMER_CLOCK (TB_BUS_CLOCK/4000) //4th of the bus frequency 15 | 16 | #define TB_MSPERSEC 1000 17 | #define TB_USPERSEC 1000000 18 | #define TB_NSPERSEC 1000000000 19 | #define TB_NSPERMS 1000000 20 | #define TB_NSPERUS 1000 21 | #define TB_USPERTICK 10000 22 | 23 | #define TB_SECSPERMIN 60 24 | #define TB_MINSPERHR 60 25 | #define TB_MONSPERYR 12 26 | #define TB_DAYSPERYR 365 27 | #define TB_HRSPERDAY 24 28 | #define TB_SECSPERDAY (TB_SECSPERMIN*TB_MINSPERHR*TB_HRSPERDAY) 29 | #define TB_SECSPERNYR (365*TB_SECSPERDAY) 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/include/sdcard/card_buf.h: -------------------------------------------------------------------------------- 1 | #ifndef __CARD_BUF_H__ 2 | #define __CARD_BUF_H__ 3 | 4 | #include 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif 9 | 10 | void sdgecko_initBufferPool(void); 11 | u8* sdgecko_allocBuffer(void); 12 | void sdgecko_freeBuffer(u8 *buf); 13 | 14 | #ifdef __cplusplus 15 | } 16 | #endif 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/libogc/libogc_license.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 2004 - 2009 2 | Michael Wiedenbauer (shagkur) 3 | Dave Murphy (WinterMute) 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any 7 | damages arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any 10 | purpose, including commercial applications, and to alter it and 11 | redistribute it freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you 14 | must not claim that you wrote the original software. If you use 15 | this software in a product, an acknowledgment in the product 16 | documentation would be appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and 18 | must not be misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source 20 | distribution. 21 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/freetype2/freetype/config/ftmodule.h: -------------------------------------------------------------------------------- 1 | /* This is a generated file. */ 2 | FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class ) 3 | FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class ) 4 | FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class ) 5 | FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class ) 6 | FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class ) 7 | FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class ) 8 | FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class ) 9 | FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class ) 10 | FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class ) 11 | FT_USE_MODULE( FT_Module_Class, sfnt_module_class ) 12 | FT_USE_MODULE( FT_Module_Class, autofit_module_class ) 13 | FT_USE_MODULE( FT_Module_Class, pshinter_module_class ) 14 | FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class ) 15 | FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class ) 16 | FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcd_renderer_class ) 17 | FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcdv_renderer_class ) 18 | FT_USE_MODULE( FT_Module_Class, psaux_module_class ) 19 | FT_USE_MODULE( FT_Module_Class, psnames_module_class ) 20 | /* EOF */ 21 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/gd_color_map.h: -------------------------------------------------------------------------------- 1 | #ifndef GD_COLOR_MAP_H 2 | #define GD_COLOR_MAP_H 1 3 | 4 | #include "gd.h" 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif 9 | 10 | typedef struct { 11 | char *color_name; 12 | int red; 13 | int green; 14 | int blue; 15 | } gdColorMapEntry; 16 | 17 | typedef struct { 18 | int num_entries; 19 | gdColorMapEntry *entries; 20 | } gdColorMap; 21 | 22 | extern BGD_EXPORT_DATA_PROT gdColorMap GD_COLOR_MAP_X11; 23 | 24 | BGD_DECLARE(int) gdColorMapLookup(const gdColorMap color_map, const char *color_name, int *r, int *g, int *b); 25 | 26 | #ifdef __cplusplus 27 | } 28 | #endif 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/gdfontg.h: -------------------------------------------------------------------------------- 1 | #ifndef _GDFONTG_H_ 2 | #define _GDFONTG_H_ 1 3 | 4 | #ifdef __cplusplus 5 | extern "C" 6 | { 7 | #endif 8 | 9 | /* 10 | This is a header file for gd font, generated using 11 | bdftogd version 0.51 by Jan Pazdziora, adelton@fi.muni.cz 12 | from bdf font 13 | -Misc-Fixed-Bold-R-Normal-Sans-15-140-75-75-C-90-ISO8859-2 14 | at Mon Jan 26 14:45:58 1998. 15 | The original bdf was holding following copyright: 16 | "Libor Skarvada, libor@informatics.muni.cz" 17 | */ 18 | 19 | #include "gd.h" 20 | 21 | extern BGD_EXPORT_DATA_PROT gdFontPtr gdFontGiant; 22 | BGD_DECLARE(gdFontPtr) gdFontGetGiant(void); 23 | 24 | #ifdef __cplusplus 25 | } 26 | #endif 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/gdfontl.h: -------------------------------------------------------------------------------- 1 | #ifndef _GDFONTL_H_ 2 | #define _GDFONTL_H_ 1 3 | 4 | #ifdef __cplusplus 5 | extern "C" 6 | { 7 | #endif 8 | 9 | /* 10 | This is a header file for gd font, generated using 11 | bdftogd version 0.5 by Jan Pazdziora, adelton@fi.muni.cz 12 | from bdf font 13 | -misc-fixed-medium-r-normal--16-140-75-75-c-80-iso8859-2 14 | at Tue Jan 6 19:39:27 1998. 15 | 16 | The original bdf was holding following copyright: 17 | "Libor Skarvada, libor@informatics.muni.cz" 18 | */ 19 | 20 | #include "gd.h" 21 | 22 | extern BGD_EXPORT_DATA_PROT gdFontPtr gdFontLarge; 23 | BGD_DECLARE(gdFontPtr) gdFontGetLarge(void); 24 | 25 | #ifdef __cplusplus 26 | } 27 | #endif 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/gdfontmb.h: -------------------------------------------------------------------------------- 1 | #ifndef _GDFONTMB_H_ 2 | #define _GDFONTMB_H_ 1 3 | 4 | #ifdef __cplusplus 5 | extern "C" 6 | { 7 | #endif 8 | 9 | /* 10 | This is a header file for gd font, generated using 11 | bdftogd version 0.5 by Jan Pazdziora, adelton@fi.muni.cz 12 | from bdf font 13 | -misc-fixed-bold-r-normal-sans-13-94-100-100-c-70-iso8859-2 14 | at Thu Jan 8 13:54:57 1998. 15 | No copyright info was found in the original bdf. 16 | */ 17 | 18 | #include "gd.h" 19 | 20 | extern BGD_EXPORT_DATA_PROT gdFontPtr gdFontMediumBold; 21 | BGD_DECLARE(gdFontPtr) gdFontGetMediumBold(void); 22 | 23 | #ifdef __cplusplus 24 | } 25 | #endif 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/gdfonts.h: -------------------------------------------------------------------------------- 1 | #ifndef _GDFONTS_H_ 2 | #define _GDFONTS_H_ 1 3 | 4 | #ifdef __cplusplus 5 | extern "C" 6 | { 7 | #endif 8 | 9 | /* 10 | This is a header file for gd font, generated using 11 | bdftogd version 0.5 by Jan Pazdziora, adelton@fi.muni.cz 12 | from bdf font 13 | -misc-fixed-medium-r-semicondensed-sans-12-116-75-75-c-60-iso8859-2 14 | at Thu Jan 8 14:13:20 1998. 15 | No copyright info was found in the original bdf. 16 | */ 17 | 18 | #include "gd.h" 19 | 20 | extern BGD_EXPORT_DATA_PROT gdFontPtr gdFontSmall; 21 | BGD_DECLARE(gdFontPtr) gdFontGetSmall(void); 22 | 23 | #ifdef __cplusplus 24 | } 25 | #endif 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/gdfontt.h: -------------------------------------------------------------------------------- 1 | #ifndef _GDFONTT_H_ 2 | #define _GDFONTT_H_ 1 3 | 4 | #ifdef __cplusplus 5 | extern "C" 6 | { 7 | #endif 8 | 9 | /* 10 | This is a header file for gd font, generated using 11 | bdftogd version 0.5 by Jan Pazdziora, adelton@fi.muni.cz 12 | from bdf font 13 | -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO8859-2 14 | at Thu Jan 8 13:49:54 1998. 15 | The original bdf was holding following copyright: 16 | "Libor Skarvada, libor@informatics.muni.cz" 17 | */ 18 | 19 | #include "gd.h" 20 | 21 | extern BGD_EXPORT_DATA_PROT gdFontPtr gdFontTiny; 22 | BGD_DECLARE(gdFontPtr) gdFontGetTiny(void); 23 | 24 | #ifdef __cplusplus 25 | } 26 | #endif 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/gdfx.h: -------------------------------------------------------------------------------- 1 | #ifdef __cplusplus 2 | extern "C" { 3 | #endif 4 | 5 | #ifndef GDFX_H 6 | #define GDFX_H 1 7 | 8 | BGD_DECLARE(gdImagePtr) gdImageSquareToCircle(gdImagePtr im, int radius); 9 | 10 | BGD_DECLARE(char *) gdImageStringFTCircle( 11 | gdImagePtr im, 12 | int cx, 13 | int cy, 14 | double radius, 15 | double textRadius, 16 | double fillPortion, 17 | char *font, 18 | double points, 19 | char *top, 20 | char *bottom, 21 | int fgcolor); 22 | 23 | BGD_DECLARE(void) gdImageSharpen (gdImagePtr im, int pct); 24 | 25 | #endif /* GDFX_H */ 26 | 27 | 28 | #ifdef __cplusplus 29 | } 30 | #endif 31 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/detail/_fixes.hpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | //! Workaround for compatibility with other libraries 4 | #ifdef max 5 | #undef max 6 | #endif 7 | 8 | //! Workaround for compatibility with other libraries 9 | #ifdef min 10 | #undef min 11 | #endif 12 | 13 | //! Workaround for Android 14 | #ifdef isnan 15 | #undef isnan 16 | #endif 17 | 18 | //! Workaround for Android 19 | #ifdef isinf 20 | #undef isinf 21 | #endif 22 | 23 | //! Workaround for Chrone Native Client 24 | #ifdef log2 25 | #undef log2 26 | #endif 27 | 28 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/detail/compute_vector_relational.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | //#include "compute_common.hpp" 4 | #include "setup.hpp" 5 | #include 6 | 7 | namespace glm{ 8 | namespace detail 9 | { 10 | template 11 | struct compute_equal 12 | { 13 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(T a, T b) 14 | { 15 | return a == b; 16 | } 17 | }; 18 | /* 19 | template 20 | struct compute_equal 21 | { 22 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(T a, T b) 23 | { 24 | return detail::compute_abs::is_signed>::call(b - a) <= static_cast(0); 25 | //return std::memcmp(&a, &b, sizeof(T)) == 0; 26 | } 27 | }; 28 | */ 29 | }//namespace detail 30 | }//namespace glm 31 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/detail/func_exponential_simd.inl: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/detail/func_exponential_simd.inl 3 | 4 | #include "../simd/exponential.h" 5 | 6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 7 | 8 | namespace glm{ 9 | namespace detail 10 | { 11 | template 12 | struct compute_sqrt<4, float, Q, true> 13 | { 14 | GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) 15 | { 16 | vec<4, float, Q> Result; 17 | Result.data = _mm_sqrt_ps(v.data); 18 | return Result; 19 | } 20 | }; 21 | 22 | # if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE 23 | template<> 24 | struct compute_sqrt<4, float, aligned_lowp, true> 25 | { 26 | GLM_FUNC_QUALIFIER static vec<4, float, aligned_lowp> call(vec<4, float, aligned_lowp> const& v) 27 | { 28 | vec<4, float, aligned_lowp> Result; 29 | Result.data = glm_vec4_sqrt_lowp(v.data); 30 | return Result; 31 | } 32 | }; 33 | # endif 34 | }//namespace detail 35 | }//namespace glm 36 | 37 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 38 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/detail/func_packing_simd.inl: -------------------------------------------------------------------------------- 1 | namespace glm{ 2 | namespace detail 3 | { 4 | 5 | }//namespace detail 6 | }//namespace glm 7 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/detail/func_trigonometric_simd.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/portlibs/ppc/include/glm/detail/func_trigonometric_simd.inl -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/detail/func_vector_relational_simd.inl: -------------------------------------------------------------------------------- 1 | namespace glm{ 2 | namespace detail 3 | { 4 | 5 | }//namespace detail 6 | }//namespace glm 7 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/detail/type_half.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "setup.hpp" 4 | 5 | namespace glm{ 6 | namespace detail 7 | { 8 | typedef short hdata; 9 | 10 | GLM_FUNC_DECL float toFloat32(hdata value); 11 | GLM_FUNC_DECL hdata toFloat16(float const& value); 12 | 13 | }//namespace detail 14 | }//namespace glm 15 | 16 | #include "type_half.inl" 17 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/detail/type_mat4x4_simd.inl: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | 3 | namespace glm 4 | { 5 | 6 | }//namespace glm 7 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_double2x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double2x2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat2x2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 2 columns of 2 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<2, 2, double, defaultp> dmat2x2; 16 | 17 | /// 2 columns of 2 components matrix of double-precision floating-point numbers. 18 | /// 19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 20 | typedef mat<2, 2, double, defaultp> dmat2; 21 | 22 | /// @} 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_double2x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double2x3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat2x3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 2 columns of 3 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<2, 3, double, defaultp> dmat2x3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_double2x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double2x4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat2x4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 2 columns of 4 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<2, 4, double, defaultp> dmat2x4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_double3x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double3x2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat3x2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 3 columns of 2 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<3, 2, double, defaultp> dmat3x2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_double3x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double3x3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat3x3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 3 columns of 3 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<3, 3, double, defaultp> dmat3x3; 16 | 17 | /// 3 columns of 3 components matrix of double-precision floating-point numbers. 18 | /// 19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 20 | typedef mat<3, 3, double, defaultp> dmat3; 21 | 22 | /// @} 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_double3x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double3x4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat3x4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 3 columns of 4 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<3, 4, double, defaultp> dmat3x4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_double4x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double4x2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat4x2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 4 columns of 2 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<4, 2, double, defaultp> dmat4x2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_double4x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double4x3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat4x3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 4 columns of 3 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<4, 3, double, defaultp> dmat4x3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_double4x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double4x4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat4x4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 4 columns of 4 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<4, 4, double, defaultp> dmat4x4; 16 | 17 | /// 4 columns of 4 components matrix of double-precision floating-point numbers. 18 | /// 19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 20 | typedef mat<4, 4, double, defaultp> dmat4; 21 | 22 | /// @} 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_float2x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float2x2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat2x2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 2 columns of 2 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<2, 2, float, defaultp> mat2x2; 16 | 17 | /// 2 columns of 2 components matrix of single-precision floating-point numbers. 18 | /// 19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 20 | typedef mat<2, 2, float, defaultp> mat2; 21 | 22 | /// @} 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_float2x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float2x3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat2x3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 2 columns of 3 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<2, 3, float, defaultp> mat2x3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_float2x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float2x4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat2x4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 2 columns of 4 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<2, 4, float, defaultp> mat2x4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_float3x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float3x2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat3x2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core 10 | /// @{ 11 | 12 | /// 3 columns of 2 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<3, 2, float, defaultp> mat3x2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_float3x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float3x3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat3x3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 3 columns of 3 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<3, 3, float, defaultp> mat3x3; 16 | 17 | /// 3 columns of 3 components matrix of single-precision floating-point numbers. 18 | /// 19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 20 | typedef mat<3, 3, float, defaultp> mat3; 21 | 22 | /// @} 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_float3x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float3x4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat3x4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 3 columns of 4 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<3, 4, float, defaultp> mat3x4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_float4x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float4x2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat4x2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 4 columns of 2 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<4, 2, float, defaultp> mat4x2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_float4x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float4x3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat4x3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 4 columns of 3 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<4, 3, float, defaultp> mat4x3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/matrix_float4x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float4x4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat4x4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @ingroup core_matrix 10 | /// @{ 11 | 12 | /// 4 columns of 4 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<4, 4, float, defaultp> mat4x4; 16 | 17 | /// 4 columns of 4 components matrix of single-precision floating-point numbers. 18 | /// 19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 20 | typedef mat<4, 4, float, defaultp> mat4; 21 | 22 | /// @} 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/quaternion_common_simd.inl: -------------------------------------------------------------------------------- 1 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 2 | 3 | namespace glm{ 4 | namespace detail 5 | { 6 | template 7 | struct compute_dot, float, true> 8 | { 9 | static GLM_FUNC_QUALIFIER float call(qua const& x, qua const& y) 10 | { 11 | return _mm_cvtss_f32(glm_vec1_dot(x.data, y.data)); 12 | } 13 | }; 14 | }//namespace detail 15 | }//namespace glm 16 | 17 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 18 | 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/quaternion_double.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_quaternion_double 2 | /// @file glm/ext/quaternion_double.hpp 3 | /// 4 | /// @defgroup ext_quaternion_double GLM_EXT_quaternion_double 5 | /// @ingroup ext 6 | /// 7 | /// Exposes double-precision floating point quaternion type. 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// @see ext_quaternion_float 12 | /// @see ext_quaternion_double_precision 13 | /// @see ext_quaternion_common 14 | /// @see ext_quaternion_exponential 15 | /// @see ext_quaternion_geometric 16 | /// @see ext_quaternion_relational 17 | /// @see ext_quaternion_transform 18 | /// @see ext_quaternion_trigonometric 19 | 20 | #pragma once 21 | 22 | // Dependency: 23 | #include "../detail/type_quat.hpp" 24 | 25 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 26 | # pragma message("GLM: GLM_EXT_quaternion_double extension included") 27 | #endif 28 | 29 | namespace glm 30 | { 31 | /// @addtogroup ext_quaternion_double 32 | /// @{ 33 | 34 | /// Quaternion of double-precision floating-point numbers. 35 | typedef qua dquat; 36 | 37 | /// @} 38 | } //namespace glm 39 | 40 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/quaternion_float.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_quaternion_float 2 | /// @file glm/ext/quaternion_float.hpp 3 | /// 4 | /// @defgroup ext_quaternion_float GLM_EXT_quaternion_float 5 | /// @ingroup ext 6 | /// 7 | /// Exposes single-precision floating point quaternion type. 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// @see ext_quaternion_double 12 | /// @see ext_quaternion_float_precision 13 | /// @see ext_quaternion_common 14 | /// @see ext_quaternion_exponential 15 | /// @see ext_quaternion_geometric 16 | /// @see ext_quaternion_relational 17 | /// @see ext_quaternion_transform 18 | /// @see ext_quaternion_trigonometric 19 | 20 | #pragma once 21 | 22 | // Dependency: 23 | #include "../detail/type_quat.hpp" 24 | 25 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 26 | # pragma message("GLM: GLM_EXT_quaternion_float extension included") 27 | #endif 28 | 29 | namespace glm 30 | { 31 | /// @addtogroup ext_quaternion_float 32 | /// @{ 33 | 34 | /// Quaternion of single-precision floating-point numbers. 35 | typedef qua quat; 36 | 37 | /// @} 38 | } //namespace glm 39 | 40 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/quaternion_relational.inl: -------------------------------------------------------------------------------- 1 | namespace glm 2 | { 3 | template 4 | GLM_FUNC_QUALIFIER vec<4, bool, Q> equal(qua const& x, qua const& y) 5 | { 6 | vec<4, bool, Q> Result; 7 | for(length_t i = 0; i < x.length(); ++i) 8 | Result[i] = x[i] == y[i]; 9 | return Result; 10 | } 11 | 12 | template 13 | GLM_FUNC_QUALIFIER vec<4, bool, Q> equal(qua const& x, qua const& y, T epsilon) 14 | { 15 | vec<4, T, Q> v(x.x - y.x, x.y - y.y, x.z - y.z, x.w - y.w); 16 | return lessThan(abs(v), vec<4, T, Q>(epsilon)); 17 | } 18 | 19 | template 20 | GLM_FUNC_QUALIFIER vec<4, bool, Q> notEqual(qua const& x, qua const& y) 21 | { 22 | vec<4, bool, Q> Result; 23 | for(length_t i = 0; i < x.length(); ++i) 24 | Result[i] = x[i] != y[i]; 25 | return Result; 26 | } 27 | 28 | template 29 | GLM_FUNC_QUALIFIER vec<4, bool, Q> notEqual(qua const& x, qua const& y, T epsilon) 30 | { 31 | vec<4, T, Q> v(x.x - y.x, x.y - y.y, x.z - y.z, x.w - y.w); 32 | return greaterThanEqual(abs(v), vec<4, T, Q>(epsilon)); 33 | } 34 | }//namespace glm 35 | 36 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/quaternion_transform.inl: -------------------------------------------------------------------------------- 1 | namespace glm 2 | { 3 | template 4 | GLM_FUNC_QUALIFIER qua rotate(qua const& q, T const& angle, vec<3, T, Q> const& v) 5 | { 6 | vec<3, T, Q> Tmp = v; 7 | 8 | // Axis of rotation must be normalised 9 | T len = glm::length(Tmp); 10 | if(abs(len - static_cast(1)) > static_cast(0.001)) 11 | { 12 | T oneOverLen = static_cast(1) / len; 13 | Tmp.x *= oneOverLen; 14 | Tmp.y *= oneOverLen; 15 | Tmp.z *= oneOverLen; 16 | } 17 | 18 | T const AngleRad(angle); 19 | T const Sin = sin(AngleRad * static_cast(0.5)); 20 | 21 | return q * qua(cos(AngleRad * static_cast(0.5)), Tmp.x * Sin, Tmp.y * Sin, Tmp.z * Sin); 22 | } 23 | }//namespace glm 24 | 25 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/quaternion_trigonometric.inl: -------------------------------------------------------------------------------- 1 | namespace glm 2 | { 3 | template 4 | GLM_FUNC_QUALIFIER T angle(qua const& x) 5 | { 6 | return acos(x.w) * static_cast(2); 7 | } 8 | 9 | template 10 | GLM_FUNC_QUALIFIER vec<3, T, Q> axis(qua const& x) 11 | { 12 | T const tmp1 = static_cast(1) - x.w * x.w; 13 | if(tmp1 <= static_cast(0)) 14 | return vec<3, T, Q>(0, 0, 1); 15 | T const tmp2 = static_cast(1) / sqrt(tmp1); 16 | return vec<3, T, Q>(x.x * tmp2, x.y * tmp2, x.z * tmp2); 17 | } 18 | 19 | template 20 | GLM_FUNC_QUALIFIER qua angleAxis(T const& angle, vec<3, T, Q> const& v) 21 | { 22 | T const a(angle); 23 | T const s = glm::sin(a * static_cast(0.5)); 24 | 25 | return qua(glm::cos(a * static_cast(0.5)), v * s); 26 | } 27 | }//namespace glm 28 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/scalar_constants.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_scalar_constants 2 | /// @file glm/ext/scalar_constants.hpp 3 | /// 4 | /// @defgroup ext_scalar_constants GLM_EXT_scalar_constants 5 | /// @ingroup ext 6 | /// 7 | /// Provides a list of constants and precomputed useful values. 8 | /// 9 | /// Include to use the features of this extension. 10 | 11 | #pragma once 12 | 13 | // Dependencies 14 | #include "../detail/setup.hpp" 15 | 16 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 17 | # pragma message("GLM: GLM_EXT_scalar_constants extension included") 18 | #endif 19 | 20 | namespace glm 21 | { 22 | /// @addtogroup ext_scalar_constants 23 | /// @{ 24 | 25 | /// Return the epsilon constant for floating point types. 26 | template 27 | GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon(); 28 | 29 | /// Return the pi constant for floating point types. 30 | template 31 | GLM_FUNC_DECL GLM_CONSTEXPR genType pi(); 32 | 33 | /// @} 34 | } //namespace glm 35 | 36 | #include "scalar_constants.inl" 37 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/scalar_constants.inl: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType epsilon() 7 | { 8 | GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'epsilon' only accepts floating-point inputs"); 9 | return std::numeric_limits::epsilon(); 10 | } 11 | 12 | template 13 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType pi() 14 | { 15 | GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'epsilon' only accepts floating-point inputs"); 16 | return static_cast(3.14159265358979323846264338327950288); 17 | } 18 | } //namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/scalar_float_sized.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_scalar_float_sized 2 | /// @file glm/ext/scalar_float_sized.hpp 3 | /// 4 | /// @defgroup ext_scalar_float_sized GLM_EXT_scalar_float_sized 5 | /// @ingroup ext 6 | /// 7 | /// Exposes sized float scalar types. 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// @see ext_scalar_int_sized 12 | /// @see ext_scalar_uint_sized 13 | 14 | #pragma once 15 | 16 | #include "../detail/setup.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_EXT_scalar_float_sized extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup ext_scalar_float_sized 25 | /// @{ 26 | 27 | /// Single precision floating-point numbers. 28 | typedef float float32; 29 | 30 | 31 | # ifndef GLM_FORCE_SINGLE_ONLY 32 | 33 | /// Double precision floating-point numbers. 34 | typedef double float64; 35 | 36 | # endif//GLM_FORCE_SINGLE_ONLY 37 | 38 | /// @} 39 | }//namespace glm 40 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/scalar_relational.inl: -------------------------------------------------------------------------------- 1 | #include "../common.hpp" 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool equal(genType const& x, genType const& y, genType const& epsilon) 7 | { 8 | return abs(x - y) <= epsilon; 9 | } 10 | 11 | template 12 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool notEqual(genType const& x, genType const& y, genType const& epsilon) 13 | { 14 | return abs(x - y) > epsilon; 15 | } 16 | }//namespace glm 17 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_bool1.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_bool1 2 | /// @file glm/ext/vector_bool1.hpp 3 | /// 4 | /// @defgroup ext_vector_bool1 GLM_EXT_vector_bool1 5 | /// @ingroup ext 6 | /// 7 | /// Exposes bvec1 vector type. 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// @see ext_vector_bool1_precision extension. 12 | 13 | #pragma once 14 | 15 | #include "../detail/type_vec1.hpp" 16 | 17 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 18 | # pragma message("GLM: GLM_EXT_vector_bool1 extension included") 19 | #endif 20 | 21 | namespace glm 22 | { 23 | /// @addtogroup ext_vector_bool1 24 | /// @{ 25 | 26 | /// 1 components vector of boolean. 27 | typedef vec<1, bool, defaultp> bvec1; 28 | 29 | /// @} 30 | }//namespace glm 31 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_bool1_precision.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_bool1_precision 2 | /// @file glm/ext/vector_bool1_precision.hpp 3 | /// 4 | /// @defgroup ext_vector_bool1_precision GLM_EXT_vector_bool1_precision 5 | /// @ingroup ext 6 | /// 7 | /// Exposes highp_bvec1, mediump_bvec1 and lowp_bvec1 types. 8 | /// 9 | /// Include to use the features of this extension. 10 | 11 | #pragma once 12 | 13 | #include "../detail/type_vec1.hpp" 14 | 15 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 16 | # pragma message("GLM: GLM_EXT_vector_bool1_precision extension included") 17 | #endif 18 | 19 | namespace glm 20 | { 21 | /// @addtogroup ext_vector_bool1_precision 22 | /// @{ 23 | 24 | /// 1 component vector of bool values. 25 | typedef vec<1, bool, highp> highp_bvec1; 26 | 27 | /// 1 component vector of bool values. 28 | typedef vec<1, bool, mediump> mediump_bvec1; 29 | 30 | /// 1 component vector of bool values. 31 | typedef vec<1, bool, lowp> lowp_bvec1; 32 | 33 | /// @} 34 | }//namespace glm 35 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_bool2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_bool2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 2 components vector of boolean. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<2, bool, defaultp> bvec2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_bool3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_bool3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 3 components vector of boolean. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<3, bool, defaultp> bvec3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_bool4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_bool4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 4 components vector of boolean. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<4, bool, defaultp> bvec4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_double1.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_double1 2 | /// @file glm/ext/vector_double1.hpp 3 | /// 4 | /// @defgroup ext_vector_double1 GLM_EXT_vector_double1 5 | /// @ingroup ext 6 | /// 7 | /// Exposes double-precision floating point vector type with one component. 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// @see ext_vector_double1_precision extension. 12 | /// @see ext_vector_float1 extension. 13 | 14 | #pragma once 15 | 16 | #include "../detail/type_vec1.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_EXT_vector_dvec1 extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup ext_vector_double1 25 | /// @{ 26 | 27 | /// 1 components vector of double-precision floating-point numbers. 28 | typedef vec<1, double, defaultp> dvec1; 29 | 30 | /// @} 31 | }//namespace glm 32 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_double2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_double2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 2 components vector of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<2, double, defaultp> dvec2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_double3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_double3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 3 components vector of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<3, double, defaultp> dvec3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_double4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_double4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 4 components vector of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<4, double, defaultp> dvec4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_float1.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_float1 2 | /// @file glm/ext/vector_float1.hpp 3 | /// 4 | /// @defgroup ext_vector_float1 GLM_EXT_vector_float1 5 | /// @ingroup ext 6 | /// 7 | /// Exposes single-precision floating point vector type with one component. 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// @see ext_vector_float1_precision extension. 12 | /// @see ext_vector_double1 extension. 13 | 14 | #pragma once 15 | 16 | #include "../detail/type_vec1.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_EXT_vector_float1 extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup ext_vector_float1 25 | /// @{ 26 | 27 | /// 1 components vector of single-precision floating-point numbers. 28 | typedef vec<1, float, defaultp> vec1; 29 | 30 | /// @} 31 | }//namespace glm 32 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_float2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_float2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 2 components vector of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<2, float, defaultp> vec2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_float3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_float3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 3 components vector of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<3, float, defaultp> vec3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_float4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_float4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 4 components vector of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<4, float, defaultp> vec4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_int1.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_int1 2 | /// @file glm/ext/vector_int1.hpp 3 | /// 4 | /// @defgroup ext_vector_int1 GLM_EXT_vector_int1 5 | /// @ingroup ext 6 | /// 7 | /// Exposes ivec1 vector type. 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// @see ext_vector_uint1 extension. 12 | /// @see ext_vector_int1_precision extension. 13 | 14 | #pragma once 15 | 16 | #include "../detail/type_vec1.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_EXT_vector_int1 extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup ext_vector_int1 25 | /// @{ 26 | 27 | /// 1 component vector of signed integer numbers. 28 | typedef vec<1, int, defaultp> ivec1; 29 | 30 | /// @} 31 | }//namespace glm 32 | 33 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_int1_precision.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_int1_precision 2 | /// @file glm/ext/vector_int1_precision.hpp 3 | /// 4 | /// @defgroup ext_vector_int1_precision GLM_EXT_vector_int1_precision 5 | /// @ingroup ext 6 | /// 7 | /// Exposes highp_ivec1, mediump_ivec1 and lowp_ivec1 types. 8 | /// 9 | /// Include to use the features of this extension. 10 | 11 | #pragma once 12 | 13 | #include "../detail/type_vec1.hpp" 14 | 15 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 16 | # pragma message("GLM: GLM_EXT_vector_int1_precision extension included") 17 | #endif 18 | 19 | namespace glm 20 | { 21 | /// @addtogroup ext_vector_int1_precision 22 | /// @{ 23 | 24 | /// 1 component vector of signed integer values. 25 | typedef vec<1, int, highp> highp_ivec1; 26 | 27 | /// 1 component vector of signed integer values. 28 | typedef vec<1, int, mediump> mediump_ivec1; 29 | 30 | /// 1 component vector of signed integer values. 31 | typedef vec<1, int, lowp> lowp_ivec1; 32 | 33 | /// @} 34 | }//namespace glm 35 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_int2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_int2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 2 components vector of signed integer numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<2, int, defaultp> ivec2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_int3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_int3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 3 components vector of signed integer numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<3, int, defaultp> ivec3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_int4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_int4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 4 components vector of signed integer numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<4, int, defaultp> ivec4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_relational.inl: -------------------------------------------------------------------------------- 1 | #include "../vector_relational.hpp" 2 | #include "../common.hpp" 3 | #include "../detail/qualifier.hpp" 4 | 5 | namespace glm 6 | { 7 | template 8 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(vec const& x, vec const& y, T Epsilon) 9 | { 10 | return equal(x, y, vec(Epsilon)); 11 | } 12 | 13 | template 14 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(vec const& x, vec const& y, vec const& Epsilon) 15 | { 16 | return lessThanEqual(abs(x - y), Epsilon); 17 | } 18 | 19 | template 20 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(vec const& x, vec const& y, T Epsilon) 21 | { 22 | return notEqual(x, y, vec(Epsilon)); 23 | } 24 | 25 | template 26 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(vec const& x, vec const& y, vec const& Epsilon) 27 | { 28 | return greaterThan(abs(x - y), Epsilon); 29 | } 30 | }//namespace glm 31 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_uint1.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_uint1 2 | /// @file glm/ext/vector_uint1.hpp 3 | /// 4 | /// @defgroup ext_vector_uint1 GLM_EXT_vector_uint1 5 | /// @ingroup ext 6 | /// 7 | /// Exposes uvec1 vector type. 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// @see ext_vector_int1 extension. 12 | /// @see ext_vector_uint1_precision extension. 13 | 14 | #pragma once 15 | 16 | #include "../detail/type_vec1.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_EXT_vector_uint1 extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup ext_vector_uint1 25 | /// @{ 26 | 27 | /// 1 component vector of unsigned integer numbers. 28 | typedef vec<1, unsigned int, defaultp> uvec1; 29 | 30 | /// @} 31 | }//namespace glm 32 | 33 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_uint1_precision.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_uint1_precision 2 | /// @file glm/ext/vector_uint1_precision.hpp 3 | /// 4 | /// @defgroup ext_vector_uint1_precision GLM_EXT_vector_uint1_precision 5 | /// @ingroup ext 6 | /// 7 | /// Exposes highp_uvec1, mediump_uvec1 and lowp_uvec1 types. 8 | /// 9 | /// Include to use the features of this extension. 10 | 11 | #pragma once 12 | 13 | #include "../detail/type_vec1.hpp" 14 | 15 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 16 | # pragma message("GLM: GLM_EXT_vector_uint1_precision extension included") 17 | #endif 18 | 19 | namespace glm 20 | { 21 | /// @addtogroup ext_vector_uint1_precision 22 | /// @{ 23 | 24 | /// 1 component vector of unsigned integer values. 25 | /// 26 | /// @see ext_vector_uint1_precision 27 | typedef vec<1, unsigned int, highp> highp_uvec1; 28 | 29 | /// 1 component vector of unsigned integer values. 30 | /// 31 | /// @see ext_vector_uint1_precision 32 | typedef vec<1, unsigned int, mediump> mediump_uvec1; 33 | 34 | /// 1 component vector of unsigned integer values. 35 | /// 36 | /// @see ext_vector_uint1_precision 37 | typedef vec<1, unsigned int, lowp> lowp_uvec1; 38 | 39 | /// @} 40 | }//namespace glm 41 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_uint2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_uint2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 2 components vector of unsigned integer numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<2, unsigned int, defaultp> uvec2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_uint3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_uint3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 3 components vector of unsigned integer numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<3, unsigned int, defaultp> uvec3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/ext/vector_uint4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_uint4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 4 components vector of unsigned integer numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<4, unsigned int, defaultp> uvec4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtc/matrix_transform.inl: -------------------------------------------------------------------------------- 1 | #include "../geometric.hpp" 2 | #include "../trigonometric.hpp" 3 | #include "../matrix.hpp" 4 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtc/quaternion_simd.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/portlibs/ppc/include/glm/gtc/quaternion_simd.inl -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtc/type_precision.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtc_precision 2 | 3 | namespace glm 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtc/vec1.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtc_vec1 2 | /// @file glm/gtc/vec1.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtc_vec1 GLM_GTC_vec1 7 | /// @ingroup gtc 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// Add vec1, ivec1, uvec1 and bvec1 types. 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../ext/vector_bool1.hpp" 17 | #include "../ext/vector_bool1_precision.hpp" 18 | #include "../ext/vector_float1.hpp" 19 | #include "../ext/vector_float1_precision.hpp" 20 | #include "../ext/vector_double1.hpp" 21 | #include "../ext/vector_double1_precision.hpp" 22 | #include "../ext/vector_int1.hpp" 23 | #include "../ext/vector_int1_precision.hpp" 24 | #include "../ext/vector_uint1.hpp" 25 | #include "../ext/vector_uint1_precision.hpp" 26 | 27 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 28 | # pragma message("GLM: GLM_GTC_vec1 extension included") 29 | #endif 30 | 31 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/extend.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_extend 2 | /// @file glm/gtx/extend.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_extend GLM_GTX_extend 7 | /// @ingroup gtx 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// Extend a position from a source to a position at a defined length. 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../glm.hpp" 17 | 18 | #ifndef GLM_ENABLE_EXPERIMENTAL 19 | # error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." 20 | #endif 21 | 22 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 23 | # pragma message("GLM: GLM_GTX_extend extension included") 24 | #endif 25 | 26 | namespace glm 27 | { 28 | /// @addtogroup gtx_extend 29 | /// @{ 30 | 31 | /// Extends of Length the Origin position using the (Source - Origin) direction. 32 | /// @see gtx_extend 33 | template 34 | GLM_FUNC_DECL genType extend( 35 | genType const& Origin, 36 | genType const& Source, 37 | typename genType::value_type const Length); 38 | 39 | /// @} 40 | }//namespace glm 41 | 42 | #include "extend.inl" 43 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/extend.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_extend 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER genType extend 7 | ( 8 | genType const& Origin, 9 | genType const& Source, 10 | genType const& Distance 11 | ) 12 | { 13 | return Origin + (Source - Origin) * Distance; 14 | } 15 | 16 | template 17 | GLM_FUNC_QUALIFIER vec<2, T, Q> extend 18 | ( 19 | vec<2, T, Q> const& Origin, 20 | vec<2, T, Q> const& Source, 21 | T const& Distance 22 | ) 23 | { 24 | return Origin + (Source - Origin) * Distance; 25 | } 26 | 27 | template 28 | GLM_FUNC_QUALIFIER vec<3, T, Q> extend 29 | ( 30 | vec<3, T, Q> const& Origin, 31 | vec<3, T, Q> const& Source, 32 | T const& Distance 33 | ) 34 | { 35 | return Origin + (Source - Origin) * Distance; 36 | } 37 | 38 | template 39 | GLM_FUNC_QUALIFIER vec<4, T, Q> extend 40 | ( 41 | vec<4, T, Q> const& Origin, 42 | vec<4, T, Q> const& Source, 43 | T const& Distance 44 | ) 45 | { 46 | return Origin + (Source - Origin) * Distance; 47 | } 48 | }//namespace glm 49 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/exterior_product.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_exterior_product 2 | /// @file glm/gtx/exterior_product.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// @see gtx_exterior_product (dependence) 6 | /// 7 | /// @defgroup gtx_exterior_product GLM_GTX_exterior_product 8 | /// @ingroup gtx 9 | /// 10 | /// Include to use the features of this extension. 11 | /// 12 | /// @brief Allow to perform bit operations on integer values 13 | 14 | #pragma once 15 | 16 | // Dependencies 17 | #include "../detail/setup.hpp" 18 | #include "../detail/qualifier.hpp" 19 | 20 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 21 | # pragma message("GLM: GLM_GTX_exterior_product extension included") 22 | #endif 23 | 24 | namespace glm 25 | { 26 | /// @addtogroup gtx_exterior_product 27 | /// @{ 28 | 29 | /// Returns the cross product of x and y. 30 | /// 31 | /// @tparam T Floating-point scalar types 32 | /// @tparam Q Value from qualifier enum 33 | /// 34 | /// @see Exterior product 35 | template 36 | GLM_FUNC_DECL T cross(vec<2, T, Q> const& v, vec<2, T, Q> const& u); 37 | 38 | /// @} 39 | } //namespace glm 40 | 41 | #include "exterior_product.inl" 42 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/exterior_product.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_exterior_product 2 | 3 | #include 4 | 5 | namespace glm { 6 | namespace detail 7 | { 8 | template 9 | struct compute_cross_vec2 10 | { 11 | GLM_FUNC_QUALIFIER static T call(vec<2, T, Q> const& v, vec<2, T, Q> const& u) 12 | { 13 | GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'cross' accepts only floating-point inputs"); 14 | 15 | return v.x * u.y - u.x * v.y; 16 | } 17 | }; 18 | }//namespace detail 19 | 20 | template 21 | GLM_FUNC_QUALIFIER T cross(vec<2, T, Q> const& x, vec<2, T, Q> const& y) 22 | { 23 | return detail::compute_cross_vec2::value>::call(x, y); 24 | } 25 | }//namespace glm 26 | 27 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/float_notmalize.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_float_normalize 2 | 3 | #include 4 | 5 | namespace glm 6 | { 7 | template 8 | GLM_FUNC_QUALIFIER vec floatNormalize(vec const& v) 9 | { 10 | return vec(v) / static_cast(std::numeric_limits::max()); 11 | } 12 | 13 | }//namespace glm 14 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/functions.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_functions 2 | /// @file glm/gtx/functions.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// @see gtc_quaternion (dependence) 6 | /// 7 | /// @defgroup gtx_functions GLM_GTX_functions 8 | /// @ingroup gtx 9 | /// 10 | /// Include to use the features of this extension. 11 | /// 12 | /// List of useful common functions. 13 | 14 | #pragma once 15 | 16 | // Dependencies 17 | #include "../detail/setup.hpp" 18 | #include "../detail/qualifier.hpp" 19 | #include "../detail/type_vec2.hpp" 20 | 21 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 22 | # pragma message("GLM: GLM_GTX_functions extension included") 23 | #endif 24 | 25 | namespace glm 26 | { 27 | /// @addtogroup gtx_functions 28 | /// @{ 29 | 30 | /// 1D gauss function 31 | /// 32 | /// @see gtc_epsilon 33 | template 34 | GLM_FUNC_DECL T gauss( 35 | T x, 36 | T ExpectedValue, 37 | T StandardDeviation); 38 | 39 | /// 2D gauss function 40 | /// 41 | /// @see gtc_epsilon 42 | template 43 | GLM_FUNC_DECL T gauss( 44 | vec<2, T, Q> const& Coord, 45 | vec<2, T, Q> const& ExpectedValue, 46 | vec<2, T, Q> const& StandardDeviation); 47 | 48 | /// @} 49 | }//namespace glm 50 | 51 | #include "functions.inl" 52 | 53 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/functions.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_functions 2 | 3 | #include "../exponential.hpp" 4 | 5 | namespace glm 6 | { 7 | template 8 | GLM_FUNC_QUALIFIER T gauss 9 | ( 10 | T x, 11 | T ExpectedValue, 12 | T StandardDeviation 13 | ) 14 | { 15 | return exp(-((x - ExpectedValue) * (x - ExpectedValue)) / (static_cast(2) * StandardDeviation * StandardDeviation)) / (StandardDeviation * sqrt(static_cast(6.28318530717958647692528676655900576))); 16 | } 17 | 18 | template 19 | GLM_FUNC_QUALIFIER T gauss 20 | ( 21 | vec<2, T, Q> const& Coord, 22 | vec<2, T, Q> const& ExpectedValue, 23 | vec<2, T, Q> const& StandardDeviation 24 | ) 25 | { 26 | vec<2, T, Q> const Squared = ((Coord - ExpectedValue) * (Coord - ExpectedValue)) / (static_cast(2) * StandardDeviation * StandardDeviation); 27 | return exp(-(Squared.x + Squared.y)); 28 | } 29 | }//namespace glm 30 | 31 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/gradient_paint.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_gradient_paint 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER T radialGradient 7 | ( 8 | vec<2, T, Q> const& Center, 9 | T const& Radius, 10 | vec<2, T, Q> const& Focal, 11 | vec<2, T, Q> const& Position 12 | ) 13 | { 14 | vec<2, T, Q> F = Focal - Center; 15 | vec<2, T, Q> D = Position - Focal; 16 | T Radius2 = pow2(Radius); 17 | T Fx2 = pow2(F.x); 18 | T Fy2 = pow2(F.y); 19 | 20 | T Numerator = (D.x * F.x + D.y * F.y) + sqrt(Radius2 * (pow2(D.x) + pow2(D.y)) - pow2(D.x * F.y - D.y * F.x)); 21 | T Denominator = Radius2 - (Fx2 + Fy2); 22 | return Numerator / Denominator; 23 | } 24 | 25 | template 26 | GLM_FUNC_QUALIFIER T linearGradient 27 | ( 28 | vec<2, T, Q> const& Point0, 29 | vec<2, T, Q> const& Point1, 30 | vec<2, T, Q> const& Position 31 | ) 32 | { 33 | vec<2, T, Q> Dist = Point1 - Point0; 34 | return (Dist.x * (Position.x - Point0.x) + Dist.y * (Position.y - Point0.y)) / glm::dot(Dist, Dist); 35 | } 36 | }//namespace glm 37 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/handed_coordinate_space.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_handed_coordinate_space 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER bool rightHanded 7 | ( 8 | vec<3, T, Q> const& tangent, 9 | vec<3, T, Q> const& binormal, 10 | vec<3, T, Q> const& normal 11 | ) 12 | { 13 | return dot(cross(normal, tangent), binormal) > T(0); 14 | } 15 | 16 | template 17 | GLM_FUNC_QUALIFIER bool leftHanded 18 | ( 19 | vec<3, T, Q> const& tangent, 20 | vec<3, T, Q> const& binormal, 21 | vec<3, T, Q> const& normal 22 | ) 23 | { 24 | return dot(cross(normal, tangent), binormal) < T(0); 25 | } 26 | }//namespace glm 27 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/log_base.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_log_base 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER genType log(genType const& x, genType const& base) 7 | { 8 | return glm::log(x) / glm::log(base); 9 | } 10 | 11 | template 12 | GLM_FUNC_QUALIFIER vec log(vec const& x, vec const& base) 13 | { 14 | return glm::log(x) / glm::log(base); 15 | } 16 | }//namespace glm 17 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/matrix_cross_product.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_matrix_cross_product 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER mat<3, 3, T, Q> matrixCross3 7 | ( 8 | vec<3, T, Q> const& x 9 | ) 10 | { 11 | mat<3, 3, T, Q> Result(T(0)); 12 | Result[0][1] = x.z; 13 | Result[1][0] = -x.z; 14 | Result[0][2] = -x.y; 15 | Result[2][0] = x.y; 16 | Result[1][2] = x.x; 17 | Result[2][1] = -x.x; 18 | return Result; 19 | } 20 | 21 | template 22 | GLM_FUNC_QUALIFIER mat<4, 4, T, Q> matrixCross4 23 | ( 24 | vec<3, T, Q> const& x 25 | ) 26 | { 27 | mat<4, 4, T, Q> Result(T(0)); 28 | Result[0][1] = x.z; 29 | Result[1][0] = -x.z; 30 | Result[0][2] = -x.y; 31 | Result[2][0] = x.y; 32 | Result[1][2] = x.x; 33 | Result[2][1] = -x.x; 34 | return Result; 35 | } 36 | 37 | }//namespace glm 38 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/matrix_factorisation.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengb/zig-wii/4c82d86863742c61c813a3de68169e8ffd7c99ad/vendor/devkitpro/portlibs/ppc/include/glm/gtx/matrix_factorisation.inl -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/mixed_product.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_mixed_product 2 | /// @file glm/gtx/mixed_product.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_mixed_product GLM_GTX_mixed_producte 7 | /// @ingroup gtx 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// Mixed product of 3 vectors. 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../glm.hpp" 17 | 18 | #ifndef GLM_ENABLE_EXPERIMENTAL 19 | # error "GLM: GLM_GTX_mixed_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." 20 | #endif 21 | 22 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 23 | # pragma message("GLM: GLM_GTX_mixed_product extension included") 24 | #endif 25 | 26 | namespace glm 27 | { 28 | /// @addtogroup gtx_mixed_product 29 | /// @{ 30 | 31 | /// @brief Mixed product of 3 vectors (from GLM_GTX_mixed_product extension) 32 | template 33 | GLM_FUNC_DECL T mixedProduct( 34 | vec<3, T, Q> const& v1, 35 | vec<3, T, Q> const& v2, 36 | vec<3, T, Q> const& v3); 37 | 38 | /// @} 39 | }// namespace glm 40 | 41 | #include "mixed_product.inl" 42 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/mixed_product.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_mixed_product 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER T mixedProduct 7 | ( 8 | vec<3, T, Q> const& v1, 9 | vec<3, T, Q> const& v2, 10 | vec<3, T, Q> const& v3 11 | ) 12 | { 13 | return dot(cross(v1, v2), v3); 14 | } 15 | }//namespace glm 16 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/normal.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_normal 2 | /// @file glm/gtx/normal.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// @see gtx_extented_min_max (dependence) 6 | /// 7 | /// @defgroup gtx_normal GLM_GTX_normal 8 | /// @ingroup gtx 9 | /// 10 | /// Include to use the features of this extension. 11 | /// 12 | /// Compute the normal of a triangle. 13 | 14 | #pragma once 15 | 16 | // Dependency: 17 | #include "../glm.hpp" 18 | 19 | #ifndef GLM_ENABLE_EXPERIMENTAL 20 | # error "GLM: GLM_GTX_normal is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." 21 | #endif 22 | 23 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 24 | # pragma message("GLM: GLM_GTX_normal extension included") 25 | #endif 26 | 27 | namespace glm 28 | { 29 | /// @addtogroup gtx_normal 30 | /// @{ 31 | 32 | /// Computes triangle normal from triangle points. 33 | /// 34 | /// @see gtx_normal 35 | template 36 | GLM_FUNC_DECL vec<3, T, Q> triangleNormal(vec<3, T, Q> const& p1, vec<3, T, Q> const& p2, vec<3, T, Q> const& p3); 37 | 38 | /// @} 39 | }//namespace glm 40 | 41 | #include "normal.inl" 42 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/normal.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_normal 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER vec<3, T, Q> triangleNormal 7 | ( 8 | vec<3, T, Q> const& p1, 9 | vec<3, T, Q> const& p2, 10 | vec<3, T, Q> const& p3 11 | ) 12 | { 13 | return normalize(cross(p1 - p2, p1 - p3)); 14 | } 15 | }//namespace glm 16 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/normalize_dot.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_normalize_dot 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER T normalizeDot(vec const& x, vec const& y) 7 | { 8 | return glm::dot(x, y) * glm::inversesqrt(glm::dot(x, x) * glm::dot(y, y)); 9 | } 10 | 11 | template 12 | GLM_FUNC_QUALIFIER T fastNormalizeDot(vec const& x, vec const& y) 13 | { 14 | return glm::dot(x, y) * glm::fastInverseSqrt(glm::dot(x, x) * glm::dot(y, y)); 15 | } 16 | }//namespace glm 17 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/number_precision.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_number_precision 2 | 3 | namespace glm 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/optimum_pow.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_optimum_pow 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER genType pow2(genType const& x) 7 | { 8 | return x * x; 9 | } 10 | 11 | template 12 | GLM_FUNC_QUALIFIER genType pow3(genType const& x) 13 | { 14 | return x * x * x; 15 | } 16 | 17 | template 18 | GLM_FUNC_QUALIFIER genType pow4(genType const& x) 19 | { 20 | return (x * x) * (x * x); 21 | } 22 | }//namespace glm 23 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/orthonormalize.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_orthonormalize 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER mat<3, 3, T, Q> orthonormalize(mat<3, 3, T, Q> const& m) 7 | { 8 | mat<3, 3, T, Q> r = m; 9 | 10 | r[0] = normalize(r[0]); 11 | 12 | T d0 = dot(r[0], r[1]); 13 | r[1] -= r[0] * d0; 14 | r[1] = normalize(r[1]); 15 | 16 | T d1 = dot(r[1], r[2]); 17 | d0 = dot(r[0], r[2]); 18 | r[2] -= r[0] * d0 + r[1] * d1; 19 | r[2] = normalize(r[2]); 20 | 21 | return r; 22 | } 23 | 24 | template 25 | GLM_FUNC_QUALIFIER vec<3, T, Q> orthonormalize(vec<3, T, Q> const& x, vec<3, T, Q> const& y) 26 | { 27 | return normalize(x - y * dot(y, x)); 28 | } 29 | }//namespace glm 30 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/perpendicular.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_perpendicular 2 | /// @file glm/gtx/perpendicular.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// @see gtx_projection (dependence) 6 | /// 7 | /// @defgroup gtx_perpendicular GLM_GTX_perpendicular 8 | /// @ingroup gtx 9 | /// 10 | /// Include to use the features of this extension. 11 | /// 12 | /// Perpendicular of a vector from other one 13 | 14 | #pragma once 15 | 16 | // Dependency: 17 | #include "../glm.hpp" 18 | #include "../gtx/projection.hpp" 19 | 20 | #ifndef GLM_ENABLE_EXPERIMENTAL 21 | # error "GLM: GLM_GTX_perpendicular is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." 22 | #endif 23 | 24 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 25 | # pragma message("GLM: GLM_GTX_perpendicular extension included") 26 | #endif 27 | 28 | namespace glm 29 | { 30 | /// @addtogroup gtx_perpendicular 31 | /// @{ 32 | 33 | //! Projects x a perpendicular axis of Normal. 34 | //! From GLM_GTX_perpendicular extension. 35 | template 36 | GLM_FUNC_DECL genType perp(genType const& x, genType const& Normal); 37 | 38 | /// @} 39 | }//namespace glm 40 | 41 | #include "perpendicular.inl" 42 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/perpendicular.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_perpendicular 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER genType perp(genType const& x, genType const& Normal) 7 | { 8 | return x - proj(x, Normal); 9 | } 10 | }//namespace glm 11 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/polar_coordinates.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_polar_coordinates 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER vec<3, T, Q> polar 7 | ( 8 | vec<3, T, Q> const& euclidean 9 | ) 10 | { 11 | T const Length(length(euclidean)); 12 | vec<3, T, Q> const tmp(euclidean / Length); 13 | T const xz_dist(sqrt(tmp.x * tmp.x + tmp.z * tmp.z)); 14 | 15 | return vec<3, T, Q>( 16 | asin(tmp.y), // latitude 17 | atan(tmp.x, tmp.z), // longitude 18 | xz_dist); // xz distance 19 | } 20 | 21 | template 22 | GLM_FUNC_QUALIFIER vec<3, T, Q> euclidean 23 | ( 24 | vec<2, T, Q> const& polar 25 | ) 26 | { 27 | T const latitude(polar.x); 28 | T const longitude(polar.y); 29 | 30 | return vec<3, T, Q>( 31 | cos(latitude) * sin(longitude), 32 | sin(latitude), 33 | cos(latitude) * cos(longitude)); 34 | } 35 | 36 | }//namespace glm 37 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/projection.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_projection 2 | /// @file glm/gtx/projection.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_projection GLM_GTX_projection 7 | /// @ingroup gtx 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// Projection of a vector to other one 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../geometric.hpp" 17 | 18 | #ifndef GLM_ENABLE_EXPERIMENTAL 19 | # error "GLM: GLM_GTX_projection is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." 20 | #endif 21 | 22 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 23 | # pragma message("GLM: GLM_GTX_projection extension included") 24 | #endif 25 | 26 | namespace glm 27 | { 28 | /// @addtogroup gtx_projection 29 | /// @{ 30 | 31 | /// Projects x on Normal. 32 | /// 33 | /// @see gtx_projection 34 | template 35 | GLM_FUNC_DECL genType proj(genType const& x, genType const& Normal); 36 | 37 | /// @} 38 | }//namespace glm 39 | 40 | #include "projection.inl" 41 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/projection.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_projection 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER genType proj(genType const& x, genType const& Normal) 7 | { 8 | return glm::dot(x, Normal) / glm::dot(Normal, Normal) * Normal; 9 | } 10 | }//namespace glm 11 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/raw_data.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_raw_data 2 | 3 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/scalar_relational.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_scalar_relational 2 | /// @file glm/gtx/scalar_relational.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_scalar_relational GLM_GTX_scalar_relational 7 | /// @ingroup gtx 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// Extend a position from a source to a position at a defined length. 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../glm.hpp" 17 | 18 | #ifndef GLM_ENABLE_EXPERIMENTAL 19 | # error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." 20 | #endif 21 | 22 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 23 | # pragma message("GLM: GLM_GTX_extend extension included") 24 | #endif 25 | 26 | namespace glm 27 | { 28 | /// @addtogroup gtx_scalar_relational 29 | /// @{ 30 | 31 | 32 | 33 | /// @} 34 | }//namespace glm 35 | 36 | #include "scalar_relational.inl" 37 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/std_based_type.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_std_based_type 2 | 3 | namespace glm 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/texture.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_texture 2 | 3 | namespace glm 4 | { 5 | template 6 | inline T levels(vec const& Extent) 7 | { 8 | return glm::log2(compMax(Extent)) + static_cast(1); 9 | } 10 | 11 | template 12 | inline T levels(T Extent) 13 | { 14 | return vec<1, T, defaultp>(Extent).x; 15 | } 16 | }//namespace glm 17 | 18 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/transform.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_transform 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER mat<4, 4, T, Q> translate(vec<3, T, Q> const& v) 7 | { 8 | return translate(mat<4, 4, T, Q>(static_cast(1)), v); 9 | } 10 | 11 | template 12 | GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rotate(T angle, vec<3, T, Q> const& v) 13 | { 14 | return rotate(mat<4, 4, T, Q>(static_cast(1)), angle, v); 15 | } 16 | 17 | template 18 | GLM_FUNC_QUALIFIER mat<4, 4, T, Q> scale(vec<3, T, Q> const& v) 19 | { 20 | return scale(mat<4, 4, T, Q>(static_cast(1)), v); 21 | } 22 | 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/gtx/type_aligned.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtc_type_aligned 2 | 3 | namespace glm 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/mat2x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat2x2.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double2x2.hpp" 6 | #include "./ext/matrix_double2x2_precision.hpp" 7 | #include "./ext/matrix_float2x2.hpp" 8 | #include "./ext/matrix_float2x2_precision.hpp" 9 | 10 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/mat2x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat2x3.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double2x3.hpp" 6 | #include "./ext/matrix_double2x3_precision.hpp" 7 | #include "./ext/matrix_float2x3.hpp" 8 | #include "./ext/matrix_float2x3_precision.hpp" 9 | 10 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/mat2x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat2x4.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double2x4.hpp" 6 | #include "./ext/matrix_double2x4_precision.hpp" 7 | #include "./ext/matrix_float2x4.hpp" 8 | #include "./ext/matrix_float2x4_precision.hpp" 9 | 10 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/mat3x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat3x2.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double3x2.hpp" 6 | #include "./ext/matrix_double3x2_precision.hpp" 7 | #include "./ext/matrix_float3x2.hpp" 8 | #include "./ext/matrix_float3x2_precision.hpp" 9 | 10 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/mat3x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat3x3.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double3x3.hpp" 6 | #include "./ext/matrix_double3x3_precision.hpp" 7 | #include "./ext/matrix_float3x3.hpp" 8 | #include "./ext/matrix_float3x3_precision.hpp" 9 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/mat3x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat3x4.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double3x4.hpp" 6 | #include "./ext/matrix_double3x4_precision.hpp" 7 | #include "./ext/matrix_float3x4.hpp" 8 | #include "./ext/matrix_float3x4_precision.hpp" 9 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/mat4x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat4x2.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double4x2.hpp" 6 | #include "./ext/matrix_double4x2_precision.hpp" 7 | #include "./ext/matrix_float4x2.hpp" 8 | #include "./ext/matrix_float4x2_precision.hpp" 9 | 10 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/mat4x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat4x3.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double4x3.hpp" 6 | #include "./ext/matrix_double4x3_precision.hpp" 7 | #include "./ext/matrix_float4x3.hpp" 8 | #include "./ext/matrix_float4x3_precision.hpp" 9 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/mat4x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat4x4.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double4x4.hpp" 6 | #include "./ext/matrix_double4x4_precision.hpp" 7 | #include "./ext/matrix_float4x4.hpp" 8 | #include "./ext/matrix_float4x4_precision.hpp" 9 | 10 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/simd/exponential.h: -------------------------------------------------------------------------------- 1 | /// @ref simd 2 | /// @file glm/simd/experimental.h 3 | 4 | #pragma once 5 | 6 | #include "platform.h" 7 | 8 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 9 | 10 | GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec1_sqrt_lowp(glm_f32vec4 x) 11 | { 12 | return _mm_mul_ss(_mm_rsqrt_ss(x), x); 13 | } 14 | 15 | GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec4_sqrt_lowp(glm_f32vec4 x) 16 | { 17 | return _mm_mul_ps(_mm_rsqrt_ps(x), x); 18 | } 19 | 20 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 21 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/simd/packing.h: -------------------------------------------------------------------------------- 1 | /// @ref simd 2 | /// @file glm/simd/packing.h 3 | 4 | #pragma once 5 | 6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 7 | 8 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 9 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/simd/trigonometric.h: -------------------------------------------------------------------------------- 1 | /// @ref simd 2 | /// @file glm/simd/trigonometric.h 3 | 4 | #pragma once 5 | 6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 7 | 8 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 9 | 10 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/simd/vector_relational.h: -------------------------------------------------------------------------------- 1 | /// @ref simd 2 | /// @file glm/simd/vector_relational.h 3 | 4 | #pragma once 5 | 6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 7 | 8 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 9 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/vec2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/vec2.hpp 3 | 4 | #pragma once 5 | #include "./ext/vector_bool2.hpp" 6 | #include "./ext/vector_bool2_precision.hpp" 7 | #include "./ext/vector_float2.hpp" 8 | #include "./ext/vector_float2_precision.hpp" 9 | #include "./ext/vector_double2.hpp" 10 | #include "./ext/vector_double2_precision.hpp" 11 | #include "./ext/vector_int2.hpp" 12 | #include "./ext/vector_int2_precision.hpp" 13 | #include "./ext/vector_uint2.hpp" 14 | #include "./ext/vector_uint2_precision.hpp" 15 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/vec3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/vec3.hpp 3 | 4 | #pragma once 5 | #include "./ext/vector_bool3.hpp" 6 | #include "./ext/vector_bool3_precision.hpp" 7 | #include "./ext/vector_float3.hpp" 8 | #include "./ext/vector_float3_precision.hpp" 9 | #include "./ext/vector_double3.hpp" 10 | #include "./ext/vector_double3_precision.hpp" 11 | #include "./ext/vector_int3.hpp" 12 | #include "./ext/vector_int3_precision.hpp" 13 | #include "./ext/vector_uint3.hpp" 14 | #include "./ext/vector_uint3_precision.hpp" 15 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/glm/vec4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/vec4.hpp 3 | 4 | #pragma once 5 | #include "./ext/vector_bool4.hpp" 6 | #include "./ext/vector_bool4_precision.hpp" 7 | #include "./ext/vector_float4.hpp" 8 | #include "./ext/vector_float4_precision.hpp" 9 | #include "./ext/vector_double4.hpp" 10 | #include "./ext/vector_double4_precision.hpp" 11 | #include "./ext/vector_int4.hpp" 12 | #include "./ext/vector_int4_precision.hpp" 13 | #include "./ext/vector_uint4.hpp" 14 | #include "./ext/vector_uint4_precision.hpp" 15 | 16 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/ode/precision.h: -------------------------------------------------------------------------------- 1 | #ifndef _ODE_PRECISION_H_ 2 | #define _ODE_PRECISION_H_ 3 | 4 | /* Define dSINGLE for single precision, dDOUBLE for double precision, 5 | * but never both! 6 | */ 7 | 8 | #if defined(dIDESINGLE) 9 | #define dSINGLE 10 | #elif defined(dIDEDOUBLE) 11 | #define dDOUBLE 12 | #else 13 | #define dSINGLE 14 | #endif 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/ode/version.h: -------------------------------------------------------------------------------- 1 | #ifndef _ODE_VERSION_H_ 2 | #define _ODE_VERSION_H_ 3 | 4 | #define dODE_VERSION "0.16.1" 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/ogg/config_types.h: -------------------------------------------------------------------------------- 1 | #ifndef __CONFIG_TYPES_H__ 2 | #define __CONFIG_TYPES_H__ 3 | 4 | /* these are filled in by configure */ 5 | #define INCLUDE_INTTYPES_H 1 6 | #define INCLUDE_STDINT_H 1 7 | #define INCLUDE_SYS_TYPES_H 1 8 | 9 | #if INCLUDE_INTTYPES_H 10 | # include 11 | #endif 12 | #if INCLUDE_STDINT_H 13 | # include 14 | #endif 15 | #if INCLUDE_SYS_TYPES_H 16 | # include 17 | #endif 18 | 19 | typedef int16_t ogg_int16_t; 20 | typedef uint16_t ogg_uint16_t; 21 | typedef int32_t ogg_int32_t; 22 | typedef uint32_t ogg_uint32_t; 23 | typedef int64_t ogg_int64_t; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/include/tremor/config_types.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * 4 | * * 5 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 6 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 7 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 8 | * * 9 | * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * 10 | * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * 11 | * * 12 | ******************************************************************** 13 | 14 | function: #ifdef jail to whip a few platforms into the UNIX ideal. 15 | 16 | ********************************************************************/ 17 | #ifndef _OS_CVTYPES_H 18 | #define _OS_CVTYPES_H 19 | 20 | typedef long long ogg_int64_t; 21 | typedef int ogg_int32_t; 22 | typedef unsigned int ogg_uint32_t; 23 | typedef short ogg_int16_t; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/licenses/ppc-jansson/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009-2018 Petri Lehtinen 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/devkitpro/portlibs/ppc/licenses/ppc-libmad/COPYRIGHT: -------------------------------------------------------------------------------- 1 | 2 | libmad - MPEG audio decoder library 3 | Copyright (C) 2000-2004 Underbit Technologies, Inc. 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation; either version 2 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | If you would like to negotiate alternate licensing terms, you may do 20 | so by contacting: Underbit Technologies, Inc. 21 | 22 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/avm/avm.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \defgroup avm avm 3 | * 4 | * AVM 5 | */ 6 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/avm/drc.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup avm_drc DRC 6 | * \ingroup avm 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | typedef enum AVMDrcScanMode 15 | { 16 | AVM_DRC_SCAN_MODE_UNKNOWN_0 = 0, 17 | AVM_DRC_SCAN_MODE_UNKNOWN_1 = 1, 18 | AVM_DRC_SCAN_MODE_UNKNOWN_3 = 3, 19 | AVM_DRC_SCAN_MODE_UNKNOWN_255 = 255, 20 | } AVMDrcScanMode; 21 | 22 | BOOL 23 | AVMGetDRCScanMode(AVMDrcScanMode *outScanMode); 24 | 25 | #ifdef __cplusplus 26 | } 27 | #endif 28 | 29 | /** @} */ 30 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/coreinit/core.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup coreinit_core Core 6 | * \ingroup coreinit 7 | * 8 | * Provides information about each core of the system's processor. 9 | * @{ 10 | */ 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | 17 | /** 18 | * Gets the number of cores in the system. On a retail Wii U, this is always 3. 19 | * 20 | * \returns 21 | * The core count of the system. 22 | */ 23 | uint32_t 24 | OSGetCoreCount(); 25 | 26 | 27 | /** 28 | * Gets the core executing the current thread. 29 | * 30 | * \returns 31 | * The ID of the current core. 32 | */ 33 | uint32_t 34 | OSGetCoreId(); 35 | 36 | 37 | /** 38 | * Gets the main core of the system. On a retail Wii U, this is always core 1. 39 | * 40 | * \returns 41 | * The ID of the main core. 42 | */ 43 | uint32_t 44 | OSGetMainCoreId(); 45 | 46 | 47 | /** 48 | * Determines whether the current thread is running on the main core. 49 | * On a retail Wii U, the main core is always core 1. 50 | * 51 | * \returns 52 | * \c true if the current core is the main core. 53 | * 54 | * \sa 55 | *
  • \link OSGetMainCoreId \endlink
56 | */ 57 | BOOL 58 | OSIsMainCore(); 59 | 60 | 61 | #ifdef __cplusplus 62 | } 63 | #endif 64 | 65 | /** @} */ 66 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/coreinit/coreinit.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \defgroup coreinit coreinit 3 | * 4 | * Contains all core operating system functions such as threads, synchronisation 5 | * objects, filesystem, memory, exception handling, etc... 6 | */ 7 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/coreinit/cosreport.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup coreinit_cosreport COS Report 6 | * \ingroup coreinit 7 | * 8 | * @{ 9 | */ 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | typedef enum COSReportLevel{ 16 | COS_REPORT_LEVEL_ERROR = 0, 17 | COS_REPORT_LEVEL_WARN = 1, 18 | COS_REPORT_LEVEL_INFO = 2, 19 | COS_REPORT_LEVEL_VERBOSE = 3, 20 | } COSReportLevel; 21 | 22 | typedef enum COSReportModule{ 23 | COS_REPORT_MODULE_UNKNOWN_0 = 0, 24 | COS_REPORT_MODULE_UNKNOWN_1 = 1, 25 | COS_REPORT_MODULE_UNKNOWN_2 = 2, 26 | COS_REPORT_MODULE_UNKNOWN_5 = 5, 27 | } COSReportModule; 28 | 29 | void 30 | COSVReport(COSReportModule module, 31 | COSReportLevel level, 32 | const char* fmt, 33 | ...); 34 | 35 | void 36 | COSError(COSReportModule module, 37 | const char* fmt, 38 | ...); 39 | 40 | void 41 | COSInfo(COSReportModule module, 42 | const char* fmt, 43 | ...); 44 | 45 | void 46 | COSVerbose(COSReportModule module, 47 | const char* fmt, 48 | ...); 49 | 50 | void 51 | COSWarn(COSReportModule module, 52 | const char* fmt, 53 | ...); 54 | 55 | #ifdef __cplusplus 56 | } 57 | #endif 58 | 59 | /** @} */ 60 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/coreinit/energysaver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup coreinit_energysaver Energy saver 6 | * \ingroup coreinit 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | typedef int32_t IMError; 15 | 16 | IMError 17 | IMDisableAPD(); 18 | 19 | IMError 20 | IMDisableDim(); 21 | 22 | IMError 23 | IMEnableAPD(); 24 | 25 | IMError 26 | IMEnableDim(); 27 | 28 | IMError 29 | IMIsAPDEnabled(uint32_t *outValue); 30 | 31 | IMError 32 | IMIsAPDEnabledBySysSettings(uint32_t *outValue); 33 | 34 | IMError 35 | IMIsDimEnabled(uint32_t *outValue); 36 | 37 | IMError 38 | IMGetDimEnableDrc(uint32_t *outValue); 39 | 40 | IMError 41 | IMGetDimEnableTv(uint32_t *outValue); 42 | 43 | IMError 44 | IMGetDimPeriod(uint32_t *outValue); 45 | 46 | IMError 47 | IMGetTimeBeforeAPD(uint32_t *outSeconds); 48 | 49 | IMError 50 | IMGetTimeBeforeDimming(uint32_t *outSeconds); 51 | 52 | IMError 53 | IMSetDimEnableDrc(BOOL value); 54 | 55 | IMError 56 | IMSetDimEnableTv(BOOL value); 57 | 58 | IMError 59 | IMStartAPDVideoMode(); 60 | 61 | #ifdef __cplusplus 62 | } 63 | #endif 64 | 65 | /** @} */ 66 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/coreinit/exit.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup coreinit_exit Exit 6 | * \ingroup coreinit 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | void 15 | RPLWRAP(exit)(int code); 16 | 17 | void 18 | _Exit(int code); 19 | 20 | #ifdef __cplusplus 21 | } 22 | #endif 23 | 24 | /** @} */ 25 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/coreinit/fastcondition.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "threadqueue.h" 4 | 5 | /** 6 | * \defgroup coreinit_fastcond Fast Condition Variable 7 | * \ingroup coreinit 8 | * 9 | * A condition variable to be used with an OSFastMutex. 10 | * 11 | * @{ 12 | */ 13 | 14 | #ifdef __cplusplus 15 | extern "C" { 16 | #endif 17 | 18 | typedef struct OSFastCondition OSFastCondition; 19 | typedef struct OSFastMutex OSFastMutex; 20 | 21 | #define OS_FAST_CONDITION_TAG 0x664E6456u 22 | 23 | struct OSFastCondition 24 | { 25 | uint32_t tag; 26 | const char *name; 27 | WUT_UNKNOWN_BYTES(4); 28 | OSThreadQueue queue; 29 | }; 30 | WUT_CHECK_OFFSET(OSFastCondition, 0x00, tag); 31 | WUT_CHECK_OFFSET(OSFastCondition, 0x04, name); 32 | WUT_CHECK_OFFSET(OSFastCondition, 0x0c, queue); 33 | WUT_CHECK_SIZE(OSFastCondition, 0x1c); 34 | 35 | void 36 | OSFastCond_Init(OSFastCondition *condition, 37 | const char *name); 38 | 39 | void 40 | OSFastCond_Wait(OSFastCondition *condition, 41 | OSFastMutex *mutex); 42 | 43 | void 44 | OSFastCond_Signal(OSFastCondition *condition); 45 | 46 | #ifdef __cplusplus 47 | } 48 | #endif 49 | 50 | /** @} */ 51 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/coreinit/fiber.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup coreinit_fiber Fiber 6 | * \ingroup coreinit 7 | * 8 | * @{ 9 | */ 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | typedef void (*OSFiberEntryFn)(); 16 | typedef void (*OSFiberExEntryFn)(uint32_t arg1, uint32_t arg2, 17 | uint32_t arg3, uint32_t arg4); 18 | 19 | int32_t 20 | OSSwitchFiber(OSFiberEntryFn entry, 21 | void *stack); 22 | 23 | int32_t 24 | OSSwitchFiberEx(uint32_t arg1, 25 | uint32_t arg2, 26 | uint32_t arg3, 27 | uint32_t arg4, 28 | OSFiberExEntryFn entry, 29 | void *stack); 30 | 31 | #ifdef __cplusplus 32 | } 33 | #endif 34 | 35 | /** @} */ 36 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/coreinit/foreground.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup coreinit_foreground Foreground Management 6 | * \ingroup coreinit 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | void 15 | OSEnableForegroundExit(); 16 | 17 | void 18 | OSReleaseForeground(); 19 | 20 | void 21 | OSSavesDone_ReadyToRelease(); 22 | 23 | #ifdef __cplusplus 24 | } 25 | #endif 26 | 27 | /** @} */ 28 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/coreinit/internal.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | int 9 | __os_snprintf(char *buf, size_t n, const char *format, ... ); 10 | 11 | #ifdef __cplusplus 12 | } 13 | #endif 14 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/coreinit/rendezvous.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup coreinit_rendezvous Rendezvous 6 | * \ingroup coreinit 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | typedef struct OSRendezvous OSRendezvous; 15 | 16 | struct OSRendezvous 17 | { 18 | uint32_t core[3]; 19 | WUT_UNKNOWN_BYTES(4); 20 | }; 21 | WUT_CHECK_OFFSET(OSRendezvous, 0x00, core); 22 | WUT_CHECK_SIZE(OSRendezvous, 0x10); 23 | 24 | void 25 | OSInitRendezvous(OSRendezvous *rendezvous); 26 | 27 | BOOL 28 | OSWaitRendezvous(OSRendezvous *rendezvous, 29 | uint32_t coreMask); 30 | 31 | BOOL 32 | OSWaitRendezvousWithTimeout(OSRendezvous *rendezvous, 33 | uint32_t coreMask, 34 | OSTime timeout); 35 | 36 | #ifdef __cplusplus 37 | } 38 | #endif 39 | 40 | /** @} */ 41 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/coreinit/systeminfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup coreinit_systeminfo System Info 6 | * \ingroup coreinit 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | typedef struct OSSystemInfo OSSystemInfo; 15 | 16 | struct OSSystemInfo 17 | { 18 | uint32_t busClockSpeed; 19 | uint32_t coreClockSpeed; 20 | int64_t baseTime; 21 | WUT_UNKNOWN_BYTES(0x10); 22 | }; 23 | WUT_CHECK_OFFSET(OSSystemInfo, 0x0, busClockSpeed); 24 | WUT_CHECK_OFFSET(OSSystemInfo, 0x4, coreClockSpeed); 25 | WUT_CHECK_OFFSET(OSSystemInfo, 0x8, baseTime); 26 | WUT_CHECK_SIZE(OSSystemInfo, 0x20); 27 | 28 | OSSystemInfo * 29 | OSGetSystemInfo(); 30 | 31 | BOOL 32 | OSEnableHomeButtonMenu(BOOL enable); 33 | 34 | BOOL 35 | OSIsHomeButtonMenuEnabled(); 36 | 37 | uint64_t 38 | OSGetOSID(); 39 | 40 | uint32_t 41 | __OSGetProcessSDKVersion(); 42 | 43 | #ifdef __cplusplus 44 | } 45 | #endif 46 | 47 | /** @} */ 48 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/coreinit/title.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup coreinit_title Title 6 | * \ingroup coreinit 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | uint64_t OSGetTitleID(void); 15 | 16 | #ifdef __cplusplus 17 | } 18 | #endif 19 | 20 | /** @} */ 21 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/dmae/dmae.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \defgroup dmae dmae 3 | * DMA Engine. 4 | */ 5 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/dmae/sync.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup dmae_sync Synchronization 6 | * \ingroup dmae 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | //! Timestamp for a DMAE operation. 15 | typedef uint64_t DMAETimeStamp; 16 | 17 | /** 18 | * Waits for a DMAE operation to complete. 19 | * 20 | * \param timestamp 21 | * Timestamp of the operation to wait for. 22 | * 23 | * \return 24 | * TRUE when successful. 25 | */ 26 | BOOL 27 | DMAEWaitDone(DMAETimeStamp timestamp); 28 | 29 | #ifdef __cplusplus 30 | } 31 | #endif 32 | 33 | /** @} */ 34 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/gx2/displaylist.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup gx2_displaylist Display List 6 | * \ingroup gx2 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | void 15 | GX2BeginDisplayListEx(void *displayList, 16 | uint32_t bytes, 17 | BOOL unk1); 18 | 19 | uint32_t 20 | GX2EndDisplayList(void *displayList); 21 | 22 | void 23 | GX2DirectCallDisplayList(const void *displayList, 24 | uint32_t bytes); 25 | 26 | void 27 | GX2CallDisplayList(const void *displayList, 28 | uint32_t bytes); 29 | 30 | BOOL 31 | GX2GetDisplayListWriteStatus(); 32 | 33 | BOOL 34 | GX2GetCurrentDisplayList(void **outDisplayList, 35 | uint32_t *outSize); 36 | 37 | void 38 | GX2CopyDisplayList(const void *displayList, 39 | uint32_t bytes); 40 | 41 | #ifdef __cplusplus 42 | } 43 | #endif 44 | 45 | /** @} */ 46 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/gx2/gx2.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \defgroup gx2 gx2 3 | * Graphics driver. 4 | */ 5 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/gx2/mem.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "enum.h" 4 | 5 | /** 6 | * \defgroup gx2_mem Memory 7 | * \ingroup gx2 8 | * @{ 9 | */ 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | void 16 | GX2Invalidate(GX2InvalidateMode mode, 17 | void *buffer, 18 | uint32_t size); 19 | 20 | #ifdef __cplusplus 21 | } 22 | #endif 23 | 24 | /** @} */ 25 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/gx2/state.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "enum.h" 4 | 5 | /** 6 | * \defgroup gx2_state State 7 | * \ingroup gx2 8 | * @{ 9 | */ 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | void 16 | GX2Init(uint32_t *attributes); 17 | 18 | void 19 | GX2Shutdown(); 20 | 21 | void 22 | GX2Flush(); 23 | 24 | void 25 | GX2ResetGPU(uint32_t unknown); 26 | 27 | #ifdef __cplusplus 28 | } 29 | #endif 30 | 31 | /** @} */ 32 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/gx2/swap.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "enum.h" 4 | 5 | /** 6 | * \defgroup gx2_swap Swap 7 | * \ingroup gx2 8 | * @{ 9 | */ 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | typedef struct GX2ColorBuffer GX2ColorBuffer; 16 | typedef struct GX2Texture GX2Texture; 17 | 18 | void 19 | GX2CopyColorBufferToScanBuffer(const GX2ColorBuffer *buffer, 20 | GX2ScanTarget scanTarget); 21 | 22 | void 23 | GX2SwapScanBuffers(); 24 | 25 | BOOL 26 | GX2GetLastFrame(GX2ScanTarget scanTarget, 27 | GX2Texture *texture); 28 | 29 | BOOL 30 | GX2GetLastFrameGamma(GX2ScanTarget scanTarget, 31 | float *gammaOut); 32 | 33 | uint32_t 34 | GX2GetSwapInterval(); 35 | 36 | void 37 | GX2SetSwapInterval(uint32_t interval); 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | /** @} */ 44 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/gx2/temp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup gx2_temp Temp 6 | * \ingroup gx2 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | uint32_t 15 | GX2TempGetGPUVersion(); 16 | 17 | #ifdef __cplusplus 18 | } 19 | #endif 20 | 21 | /** @} */ 22 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/gx2/tessellation.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include "enum.h" 5 | 6 | /** 7 | * \defgroup gx2_tessellation Tessellation 8 | * \ingroup gx2 9 | * @{ 10 | */ 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | void 17 | GX2SetTessellation(GX2TessellationMode tessellationMode, 18 | GX2PrimitiveMode primitiveMode, 19 | GX2IndexType indexType); 20 | 21 | void 22 | GX2SetMinTessellationLevel(float min); 23 | 24 | void 25 | GX2SetMaxTessellationLevel(float max); 26 | 27 | #ifdef __cplusplus 28 | } 29 | #endif 30 | 31 | /** @} */ 32 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/gx2/texture.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "surface.h" 4 | 5 | /** 6 | * \defgroup gx2_texture Texture 7 | * \ingroup gx2 8 | * @{ 9 | */ 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | typedef struct GX2Texture GX2Texture; 16 | 17 | struct GX2Texture 18 | { 19 | GX2Surface surface; 20 | uint32_t viewFirstMip; 21 | uint32_t viewNumMips; 22 | uint32_t viewFirstSlice; 23 | uint32_t viewNumSlices; 24 | uint32_t compMap; 25 | 26 | uint32_t regs[5]; 27 | }; 28 | WUT_CHECK_OFFSET(GX2Texture, 0x0, surface); 29 | WUT_CHECK_OFFSET(GX2Texture, 0x74, viewFirstMip); 30 | WUT_CHECK_OFFSET(GX2Texture, 0x78, viewNumMips); 31 | WUT_CHECK_OFFSET(GX2Texture, 0x7c, viewFirstSlice); 32 | WUT_CHECK_OFFSET(GX2Texture, 0x80, viewNumSlices); 33 | WUT_CHECK_OFFSET(GX2Texture, 0x84, compMap); 34 | WUT_CHECK_OFFSET(GX2Texture, 0x88, regs); 35 | WUT_CHECK_SIZE(GX2Texture, 0x9c); 36 | 37 | void 38 | GX2InitTextureRegs(GX2Texture *texture); 39 | 40 | void 41 | GX2SetPixelTexture(const GX2Texture *texture, 42 | uint32_t unit); 43 | 44 | void 45 | GX2SetVertexTexture(const GX2Texture *texture, 46 | uint32_t unit); 47 | 48 | void 49 | GX2SetGeometryTexture(const GX2Texture *texture, 50 | uint32_t unit); 51 | 52 | #ifdef __cplusplus 53 | } 54 | #endif 55 | 56 | /** @} */ 57 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/gx2/utils.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup gx2_utils Utils 6 | * \ingroup gx2 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | typedef enum GX2_SQ_SEL 15 | { 16 | GX2_SQ_SEL_X = 0, 17 | GX2_SQ_SEL_Y = 1, 18 | GX2_SQ_SEL_Z = 2, 19 | GX2_SQ_SEL_W = 3, 20 | 21 | GX2_SQ_SEL_R = 0, 22 | GX2_SQ_SEL_G = 1, 23 | GX2_SQ_SEL_B = 2, 24 | GX2_SQ_SEL_A = 3, 25 | 26 | GX2_SQ_SEL_0 = 4, 27 | GX2_SQ_SEL_1 = 5, 28 | GX2_SQ_SEL_MASK = 7, 29 | } GX2_SQ_SEL; 30 | 31 | #define GX2_SEL_MASK(x, y, z, w) (((x) << 24) | ((y) << 16) | ((z) << 8) | (w)) 32 | #define GX2_COMP_MAP(x, y, z, w) (((x) << 24) | ((y) << 16) | ((z) << 8) | (w)) 33 | 34 | #ifdef __cplusplus 35 | } 36 | #endif 37 | 38 | /** @} */ 39 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/gx2r/displaylist.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "resource.h" 4 | 5 | /** 6 | * \defgroup gx2r_displaylist Display List 7 | * \ingroup gx2r 8 | * @{ 9 | */ 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | typedef struct GX2RBuffer GX2RBuffer; 16 | 17 | void 18 | GX2RBeginDisplayListEx(GX2RBuffer *displayList, 19 | uint32_t unknown, 20 | GX2RResourceFlags flags); 21 | 22 | uint32_t 23 | GX2REndDisplayList(GX2RBuffer *displayList); 24 | 25 | void 26 | GX2RCallDisplayList(GX2RBuffer *displayList, 27 | uint32_t size); 28 | 29 | void 30 | GX2RDirectCallDisplayList(GX2RBuffer *displayList, 31 | uint32_t size); 32 | 33 | #ifdef __cplusplus 34 | } 35 | #endif 36 | 37 | /** @} */ 38 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/gx2r/draw.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include "resource.h" 5 | 6 | /** 7 | * \defgroup gx2r_draw Draw 8 | * \ingroup gx2r 9 | * @{ 10 | */ 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | typedef struct GX2RBuffer GX2RBuffer; 17 | 18 | void 19 | GX2RSetAttributeBuffer(GX2RBuffer *buffer, 20 | uint32_t index, 21 | uint32_t stride, 22 | uint32_t offset); 23 | 24 | void 25 | GX2RDrawIndexed(GX2PrimitiveMode mode, 26 | GX2RBuffer *buffer, 27 | GX2IndexType indexType, 28 | uint32_t count, 29 | uint32_t indexOffset, 30 | uint32_t vertexOffset, 31 | uint32_t numInstances); 32 | 33 | #ifdef __cplusplus 34 | } 35 | #endif 36 | 37 | /** @} */ 38 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/gx2r/gx2r.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \defgroup gx2r gx2r 3 | * 4 | * Contains utilities to help manage memory invalidation for gx2. 5 | */ 6 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/gx2r/mem.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "resource.h" 4 | 5 | /** 6 | * \defgroup gx2r_mem Memory 7 | * \ingroup gx2r 8 | * @{ 9 | */ 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | typedef void * (*GX2RAllocFunction)(GX2RResourceFlags, uint32_t, uint32_t); 16 | typedef void (*GX2RFreeFunction)(GX2RResourceFlags, void *); 17 | 18 | void 19 | GX2RInvalidateMemory(GX2RResourceFlags flags, 20 | void *buffer, 21 | uint32_t size); 22 | 23 | BOOL 24 | GX2RIsUserMemory(GX2RResourceFlags flags); 25 | 26 | void 27 | GX2RSetAllocator(GX2RAllocFunction allocFn, 28 | GX2RFreeFunction freeFn); 29 | 30 | #ifdef __cplusplus 31 | } 32 | #endif 33 | 34 | /** @} */ 35 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/gx2r/surface.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "resource.h" 4 | 5 | /** 6 | * \defgroup gx2r_surface Surface 7 | * \ingroup gx2r 8 | * @{ 9 | */ 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | typedef struct GX2Surface GX2Surface; 16 | 17 | BOOL 18 | GX2RCreateSurface(GX2Surface *surface, 19 | GX2RResourceFlags flags); 20 | 21 | BOOL 22 | GX2RCreateSurfaceUserMemory(GX2Surface *surface, 23 | uint8_t *image, 24 | uint8_t *mipmap, 25 | GX2RResourceFlags flags); 26 | 27 | BOOL 28 | GX2RDestroySurfaceEx(GX2Surface *surface, 29 | GX2RResourceFlags flags); 30 | 31 | BOOL 32 | GX2RInvalidateSurface(GX2Surface *surface, 33 | int32_t level, 34 | GX2RResourceFlags flags); 35 | 36 | void * 37 | GX2RLockSurfaceEx(GX2Surface *surface, 38 | int32_t level, 39 | GX2RResourceFlags flags); 40 | 41 | void 42 | GX2RUnlockSurfaceEx(GX2Surface *surface, 43 | int32_t level, 44 | GX2RResourceFlags flags); 45 | 46 | #ifdef __cplusplus 47 | } 48 | #endif 49 | 50 | /** @} */ 51 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/nn/ac.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /** 4 | * \defgroup nn_ac nn_ac 5 | * Auto Connect API, used for managing and connecting to internet connection 6 | * profiles. 7 | */ 8 | 9 | #include 10 | #include 11 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/nn/acp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /** 4 | * \defgroup nn_acp nn_acp 5 | * 6 | */ 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/nn/acp/device.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | /** 6 | * \defgroup nn_acp_device 7 | * \ingroup nn_acp 8 | * @{ 9 | */ 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | typedef int32_t ACPDeviceType; 16 | 17 | ACPResult 18 | ACPCheckApplicationDeviceEmulation(BOOL* emulation); 19 | 20 | #ifdef __cplusplus 21 | } 22 | #endif 23 | 24 | /** @} */ 25 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/nn/acp/nn_acp_types.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /* Included for compatibility - though this header was never in a released 5 | * version of wut. It had the definition of ACPMetaXml. 6 | */ 7 | //#warning " is deprecated! Please use ." 8 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/nn/acp/save.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | 6 | /** 7 | * \defgroup nn_acp_save Save 8 | * \ingroup nn_acp 9 | * 10 | * Save data services 11 | * @{ 12 | */ 13 | 14 | #ifdef __cplusplus 15 | extern "C" { 16 | #endif 17 | 18 | ACPResult 19 | ACPCreateSaveDir(uint32_t persistentId, 20 | ACPDeviceType deviceType); 21 | 22 | ACPResult 23 | ACPIsExternalStorageRequired(BOOL* required); 24 | 25 | ACPResult 26 | ACPMountExternalStorage(); 27 | 28 | ACPResult 29 | ACPMountSaveDir(); 30 | 31 | ACPResult 32 | ACPRepairSaveMetaDir(); 33 | 34 | ACPResult 35 | ACPUnmountExternalStorage(); 36 | 37 | ACPResult 38 | ACPUnmountSaveDir(); 39 | 40 | #ifdef __cplusplus 41 | } 42 | #endif 43 | 44 | /** @} */ 45 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/nn/act.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /** 4 | * \defgroup nn_act nn_act 5 | * Accounts API, manages user profiles and personal info. 6 | */ 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/nn/nn.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \defgroup nn nn 3 | * Helper functions and classes for other APIs 4 | */ 5 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/nn/pdm.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /** 4 | * \defgroup nn_pdm nn_pdm 5 | * Log Activities for Titles 6 | */ 7 | 8 | #include 9 | #include 10 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/nn/pdm/pdm_c.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup nn_pdm_c 6 | * \ingroup nn_pdm 7 | * C functions for PDM 8 | * @{ 9 | */ 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | /** 16 | * Initializes PDM. 17 | * Needs to be called before using other functions. 18 | * 19 | * \return 20 | * 0 on success. 21 | */ 22 | uint32_t 23 | PDMInitialize(); 24 | 25 | /** 26 | * Finalize PDM. 27 | */ 28 | void 29 | PDMFinalize(); 30 | 31 | /** 32 | * Close all opened PDM Files. 33 | */ 34 | void 35 | PDMCloseAllFiles(); 36 | 37 | void 38 | PDMNotifySetTimeBeginEvent(); 39 | 40 | void 41 | PDMNotifySetTimeEndEvent(); 42 | 43 | #ifdef __cplusplus 44 | } 45 | #endif 46 | 47 | /** @} */ 48 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/nn/swkbd.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /** 4 | * \defgroup nn_swkbd nn_swkbd 5 | * Graphical software keyboard, supporting several languages and configurations. 6 | */ 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/nsyshid/nsyshid.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \defgroup nsyshid nsyshid 3 | * 4 | * Human Input Device functions. 5 | */ 6 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/nsysnet/nsysnet.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \defgroup nsysnet nsysnet 3 | * 4 | * Network functions. 5 | */ 6 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/padscore/padscore.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \defgroup padscore padscore 3 | * 4 | * Input library for Wii controllers. 5 | */ 6 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/proc_ui/procui.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \defgroup proc_ui proc_ui 3 | * 4 | * Process management library used for managing transitions between foreground 5 | * and background applications. 6 | */ 7 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/sndcore2/result.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup sndcore2_result Result 6 | * \ingroup sndcore2 7 | * 8 | * @{ 9 | */ 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | //! A value from enum AX_RESULT. 16 | typedef int32_t AXResult; 17 | 18 | enum AX_RESULT 19 | { 20 | AX_RESULT_SUCCESS = 0, 21 | AX_RESULT_INVALID_DEVICE_TYPE = -1, 22 | AX_RESULT_INVALID_DRC_VS_MODE = -13, 23 | AX_RESULT_VOICE_IS_RUNNING = -18, 24 | AX_RESULT_DELAY_TOO_BIG = -19, 25 | }; 26 | 27 | #ifdef __cplusplus 28 | } 29 | #endif 30 | 31 | /** @} */ 32 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/sndcore2/sndcore2.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \defgroup sndcore2 sndcore2 3 | * 4 | * Sound playback and utility library. 5 | */ 6 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/swkbd/swkbd.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \defgroup swkbd swkbd 3 | * 4 | * C++ linkage for the software keyboard, see \link nn::swkbd \endlink for 5 | * general use. 6 | */ 7 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/sysapp/sysapp.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \defgroup sysapp sysapp 3 | * 4 | * Functions to switch applications, launch overlay apps and perform other 5 | * multitasking functions. 6 | */ 7 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/vpad/vpad.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * \defgroup vpad vpad 3 | * 4 | * Input library for the Wii U Gamepad (Display Remote Controller). 5 | */ 6 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/whb/align.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup whb_align Align 6 | * \ingroup whb 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | #define WHBAlignUp(val, align) ((val + align - 1) & ~(align - 1)) 15 | 16 | #ifdef __cplusplus 17 | } 18 | #endif 19 | 20 | /** @} */ 21 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/whb/crash.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup whb_crash Crash Handler 6 | * \ingroup whb 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | BOOL 15 | WHBInitCrashHandler(); 16 | 17 | #ifdef __cplusplus 18 | } 19 | #endif 20 | 21 | /** @} */ 22 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/whb/file.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup whb_file Filesystem 6 | * \ingroup whb 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | typedef enum WHBFileError 15 | { 16 | WHB_FILE_OK = 0, 17 | WHB_FILE_FATAL_ERROR = -1, 18 | } WHBFileError; 19 | 20 | int32_t 21 | WHBOpenFile(const char *path, 22 | const char *mode); 23 | 24 | uint32_t 25 | WHBGetFileSize(int32_t handle); 26 | 27 | uint32_t 28 | WHBReadFile(int32_t handle, 29 | void *buf, 30 | uint32_t size, 31 | uint32_t count); 32 | 33 | int32_t 34 | WHBCloseFile(int32_t handle); 35 | 36 | char * 37 | WHBReadWholeFile(const char *path, 38 | uint32_t *outSize); 39 | 40 | void 41 | WHBFreeWholeFile(char *file); 42 | 43 | #ifdef __cplusplus 44 | } 45 | #endif 46 | 47 | /** @} */ 48 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/whb/libmanager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /** 4 | * \defgroup whb_socketinit Socket Library Initialization Manager 5 | * \ingroup whb 6 | * @{ 7 | */ 8 | 9 | #ifdef __cplusplus 10 | extern "C" { 11 | #endif 12 | 13 | /** 14 | * Socket Library (nsysnet.rpl) 15 | */ 16 | 17 | void 18 | WHBInitializeSocketLibrary(); 19 | 20 | void 21 | WHBDeinitializeSocketLibrary(); 22 | 23 | #ifdef __cplusplus 24 | } 25 | #endif 26 | 27 | /** @} */ 28 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/whb/log.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup whb_log Logger 6 | * \ingroup whb 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | typedef void (*LogHandlerFn)(const char *msg); 15 | 16 | BOOL 17 | WHBAddLogHandler(LogHandlerFn fn); 18 | 19 | BOOL 20 | WHBRemoveLogHandler(LogHandlerFn fn); 21 | 22 | BOOL 23 | WHBLogWrite(const char *str); 24 | 25 | BOOL 26 | WHBLogPrint(const char *str); 27 | 28 | BOOL 29 | WHBLogWritef(const char *fmt, ...); 30 | 31 | BOOL 32 | WHBLogPrintf(const char *fmt, ...); 33 | 34 | #ifdef __cplusplus 35 | } 36 | #endif 37 | 38 | /** @} */ 39 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/whb/log_cafe.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup whb_log_cafe Cafe OS System Log Output 6 | * \ingroup whb 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | BOOL 15 | WHBLogCafeInit(); 16 | 17 | BOOL 18 | WHBLogCafeDeinit(); 19 | 20 | #ifdef __cplusplus 21 | } 22 | #endif 23 | 24 | /** @} */ 25 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/whb/log_console.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup whb_log_console On screen console log output 6 | * \ingroup whb 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | #define WHB_SERVER_BUFFER_SIZE 1024 15 | 16 | BOOL 17 | WHBLogConsoleInit(); 18 | 19 | void 20 | WHBLogConsoleFree(); 21 | 22 | void 23 | WHBLogConsoleSetColor(uint32_t color); 24 | 25 | void 26 | WHBLogConsoleDraw(); 27 | 28 | #ifdef __cplusplus 29 | } 30 | #endif 31 | 32 | /** @} */ 33 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/whb/log_udp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup whb_log_udp UDP Log Output 6 | * \ingroup whb 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | BOOL 15 | WHBLogUdpInit(); 16 | 17 | BOOL 18 | WHBLogUdpDeinit(); 19 | 20 | #ifdef __cplusplus 21 | } 22 | #endif 23 | 24 | /** @} */ 25 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/whb/proc.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup whb_proc ProcUI Utilities 6 | * \ingroup whb 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | void 15 | WHBProcInit(); 16 | 17 | void 18 | WHBProcShutdown(); 19 | 20 | void 21 | WHBProcStopRunning(); 22 | 23 | BOOL 24 | WHBProcIsRunning(); 25 | 26 | #ifdef __cplusplus 27 | } 28 | #endif 29 | 30 | /** @} */ 31 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/whb/sdcard.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | /** 5 | * \defgroup whb_sdcard SDCard Access 6 | * \ingroup whb 7 | * @{ 8 | */ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | BOOL 15 | WHBMountSdCard(); 16 | 17 | char * 18 | WHBGetSdCardMountPath(); 19 | 20 | BOOL 21 | WHBUnmountSdCard(); 22 | 23 | #ifdef __cplusplus 24 | } 25 | #endif 26 | 27 | /** @} */ 28 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/wut.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * wut 1.0.0-beta 5 | * 6 | * https://github.com/devkitPro/wut 7 | */ 8 | 9 | #include "wut_structsize.h" 10 | #include "wut_types.h" 11 | #include "wut_rplwrap.h" 12 | 13 | #ifdef __GNUC__ 14 | 15 | #define WUT_DEPRECATED(reason) __attribute__((deprecated(reason))) 16 | 17 | #else // not __GNUC__ 18 | 19 | #define WUT_DEPRECATED(reason) 20 | 21 | #endif //__GNUC__ 22 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/wut_rplwrap.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define RPLWRAP(func) __rplwrap_##func 4 | -------------------------------------------------------------------------------- /vendor/devkitpro/wut/include/wut_types.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | typedef int32_t BOOL; 5 | 6 | #ifndef TRUE 7 | #define TRUE 1 8 | #endif 9 | 10 | #ifndef FALSE 11 | #define FALSE 0 12 | #endif 13 | -------------------------------------------------------------------------------- /zig-wii.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "path": "." 5 | } 6 | ], 7 | "settings": {} 8 | } 9 | --------------------------------------------------------------------------------