Fully decouple hecl from Metaforce

- Added CStringExtras Convert functions
  (and UTF-compatible versions)
- GX header copied into Runtime
- SFX headers copied into Runtime/Audio
This commit is contained in:
Luke Street 2022-02-21 04:04:16 -05:00 committed by Phillip Stephens
parent 6c92f03664
commit 57d96dbb17
Signed by: Antidote
GPG Key ID: F8BEE4C83DACA60D
120 changed files with 4865 additions and 518 deletions

View File

@ -540,7 +540,7 @@ endif()
configure_file(${CMAKE_SOURCE_DIR}/version.h.in ${CMAKE_BINARY_DIR}/version.h) configure_file(${CMAKE_SOURCE_DIR}/version.h.in ${CMAKE_BINARY_DIR}/version.h)
# Packaging logic # Packaging logic
list(APPEND BINARY_TARGETS metaforce hecl) # visigen list(APPEND BINARY_TARGETS metaforce) # hecl visigen
set(DSYM_ONLY_TARGETS "") set(DSYM_ONLY_TARGETS "")
if (TARGET crashpad_handler) if (TARGET crashpad_handler)
list(APPEND BINARY_TARGETS crashpad_handler) list(APPEND BINARY_TARGETS crashpad_handler)

View File

@ -10,7 +10,7 @@ target_include_directories(NESEmulator PRIVATE
${CMAKE_SOURCE_DIR}/extern ${CMAKE_SOURCE_DIR}/extern
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_compile_definitions(NESEmulator PRIVATE COL_32BIT=1 COL_TEX_BSWAP=1) target_compile_definitions(NESEmulator PRIVATE COL_32BIT=1 COL_TEX_BSWAP=1)
target_link_libraries(NESEmulator boo hecl-full RuntimeCommon ${HECL_APPLICATION_REPS_TARGETS_LIST}) target_link_libraries(NESEmulator RuntimeCommon)
if (NOT MSVC) if (NOT MSVC)
target_compile_options(NESEmulator PRIVATE -Wno-implicit-fallthrough -Wno-format -Wno-pointer-compare target_compile_options(NESEmulator PRIVATE -Wno-implicit-fallthrough -Wno-format -Wno-pointer-compare
-Wno-memset-elt-size) -Wno-memset-elt-size)

View File

@ -5,7 +5,7 @@
#include <unordered_set> #include <unordered_set>
#include <vector> #include <vector>
#include "DNAMP1/SFX/SFX.h" #include "SFX/SFX.h"
#include "Runtime/RetroTypes.hpp" #include "Runtime/RetroTypes.hpp"
#include "Runtime/Audio/CAudioSys.hpp" #include "Runtime/Audio/CAudioSys.hpp"

View File

@ -0,0 +1,27 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Atomic
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPAtomic 1
#define SFXelu_a_elec_lp_00 42
#define SFXat2_b_fly_lp_00 43
#define SFXatm_b_fly_lp_00 44
#define SFXatm_b_fly_lp_01 45
#define SFXatm_a_bombdrp_00 46
#define SFXsfx002F 47
#define SFXsfx0030 48
#define SFXsfx0031 49
#define SFXsfx0032 50
#define SFXsfx0033 51
#define SFXsfx0034 52
#define SFXsfx0035 53
#define SFXsfx0036 54
#define SFXsfx0037 55
#define SFXsfx0038 56
#define SFXsfx0039 57
#define SFXsfx003A 58
#define SFXsfx003B 59

View File

@ -0,0 +1,41 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: BetaBeetle
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPBetaBeetle 2
#define SFXsfx003C 60
#define SFXsfx003D 61
#define SFXsfx003E 62
#define SFXsfx003F 63
#define SFXsfx0040 64
#define SFXsfx0041 65
#define SFXsfx0042 66
#define SFXsfx0043 67
#define SFXsfx0044 68
#define SFXsfx0045 69
#define SFXsfx0046 70
#define SFXsfx0047 71
#define SFXsfx0048 72
#define SFXsfx0049 73
#define SFXsfx004A 74
#define SFXsfx004B 75
#define SFXsfx004C 76
#define SFXsfx004D 77
#define SFXsfx004E 78
#define SFXsfx004F 79
#define SFXsfx0050 80
#define SFXsfx0051 81
#define SFXsfx0052 82
#define SFXsfx0053 83
#define SFXsfx0054 84
#define SFXsfx0055 85
#define SFXsfx0056 86
#define SFXsfx0057 87
#define SFXsfx0058 88
#define SFXsfx0059 89
#define SFXsfx005A 90
#define SFXsfx005B 91

16
Runtime/Audio/SFX/Bird.h Normal file
View File

@ -0,0 +1,16 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Bird
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPBird 3
#define SFXsfx005C 92
#define SFXsfx005D 93
#define SFXsfx005E 94
#define SFXsfx005F 95
#define SFXsfx0060 96
#define SFXsfx0061 97
#define SFXsfx0062 98

View File

@ -0,0 +1,30 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: BloodFlower
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPBloodFlower 4
#define SFXblf_a_btmspit_00 99
#define SFXblf_a_bulb_00 100
#define SFXsfx0065 101
#define SFXsfx0066 102
#define SFXsfx0067 103
#define SFXblf_b_active_00 104
#define SFXblf_b_active_01 105
#define SFXsfx006A 106
#define SFXblf_b_breathe_00 107
#define SFXsfx006C 108
#define SFXsfx006D 109
#define SFXsfx006E 110
#define SFXsfx006F 111
#define SFXblf_r_death_00 112
#define SFXblf_r_death_01 113
#define SFXblf_r_impact_00 114
#define SFXfir_x_crispfire6voice_lp_00 115
#define SFXsfx0074 116
#define SFXsfx0075 117
#define SFXsfx0076 118
#define SFXsfx0077 119

View File

@ -0,0 +1,29 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Burrower
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPBurrower 5
#define SFXbur_a_attack_00 120
#define SFXbur_b_burrow_lp_00 121
#define SFXbur_b_idle_00 122
#define SFXbur_b_idle_01 123
#define SFXbur_b_walk_00 124
#define SFXbur_b_walk_01 125
#define SFXbur_b_walk_02 126
#define SFXbur_r_death_00 127
#define SFXsfx0080 128
#define SFXsfx0081 129
#define SFXsfx0082 130
#define SFXsfx0083 131
#define SFXsfx0084 132
#define SFXsfx0085 133
#define SFXsfx0086 134
#define SFXsfx0087 135
#define SFXsfx0088 136
#define SFXsfx0089 137
#define SFXsfx008A 138
#define SFXsfx008B 139

View File

@ -0,0 +1,61 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: ChozoGhost
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPChozoGhost 6
#define SFXchg_a_dball_00 140
#define SFXchg_a_dcharge_00 141
#define SFXchg_a_dfire_00 142
#define SFXsfx008F 143
#define SFXsfx0090 144
#define SFXsfx0091 145
#define SFXsfx0092 146
#define SFXsfx0093 147
#define SFXsfx0094 148
#define SFXchg_a_pball_00 149
#define SFXchg_a_pfire_00 150
#define SFXsfx0097 151
#define SFXsfx0098 152
#define SFXsfx0099 153
#define SFXsfx009A 154
#define SFXchg_b_fadein_00 155
#define SFXsfx009C 156
#define SFXchg_b_float_00 157
#define SFXchg_b_growl_00 158
#define SFXchg_b_jump_00 159
#define SFXsfx00A0 160
#define SFXsfx00A1 161
#define SFXsfx00A2 162
#define SFXsfx00A3 163
#define SFXsfx00A4 164
#define SFXchg_r_death_00 165
#define SFXchg_r_hit_00 166
#define SFXchg_a_pcharge_00 167
#define SFXsfx00A8 168
#define SFXsfx00A9 169
#define SFXchg_b_growl_01 170
#define SFXchg_b_scrape_00 171
#define SFXchg_r_death_01 172
#define SFXsfx00AD 173
#define SFXchg_b_growl_03 174
#define SFXchg_b_growl_04 175
#define SFXsfx00B0 176
#define SFXchg_b_voxalert_00 177
#define SFXsfx00B2 178
#define SFXchg_b_warpin_00 179
#define SFXsfx00B4 180
#define SFXsfx00B5 181
#define SFXsfx00B6 182
#define SFXsfx00B7 183
#define SFXsfx00B8 184
#define SFXsfx00B9 185
#define SFXsfx00BA 186
#define SFXsfx00BB 187
#define SFXsfx00BC 188
#define SFXsfx00BD 189
#define SFXsfx00BE 190
#define SFXsfx00BF 191

View File

@ -0,0 +1,16 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: ChubbWeed
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPChubbWeed 7
#define SFXchb_r_scream_00 192
#define SFXchb_r_alert_00_lp 193
#define SFXsfx00C2 194
#define SFXsfx00C3 195
#define SFXsfx00C4 196
#define SFXsfx00C5 197
#define SFXsfx00C6 198

View File

@ -0,0 +1,29 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: CineBoots
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPCineBoots 59
#define SFXci7_x_jump_00 2972
#define SFXsja_c_electric_lp_00 2973
#define SFXsfx0B9E 2974
#define SFXsfx0B9F 2975
#define SFXsfx0BA0 2976
#define SFXsfx0BA1 2977
#define SFXsfx0BA2 2978
#define SFXsfx0BA3 2979
#define SFXsfx0BA4 2980
#define SFXsfx0BA5 2981
#define SFXsfx0BA6 2982
#define SFXsfx0BA7 2983
#define SFXsfx0BA8 2984
#define SFXsfx0BA9 2985
#define SFXsfx0BAA 2986
#define SFXsfx0BAB 2987
#define SFXsfx0BAC 2988
#define SFXsfx0BAD 2989
#define SFXsfx0BAE 2990
#define SFXsfx0BAF 2991

View File

@ -0,0 +1,50 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: CineGeneral
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPCineGeneral 60
#define SFXsfx0BB0 2992
#define SFXsfx0BB1 2993
#define SFXci5_x_mapdown_00 2994
#define SFXci5_x_mapload_lp_00 2995
#define SFXci5_x_mapspin_lp_00 2996
#define SFXci5_x_mapup_00 2997
#define SFXepr_b_grenup_00 2998
#define SFXpi2_x_missile_00 2999
#define SFXpi2_x_healthsm_00 3000
#define SFXpi2_x_smissile_00 3001
#define SFXsfx0BBA 3002
#define SFXsfx0BBB 3003
#define SFXsfx0BBC 3004
#define SFXsfx0BBD 3005
#define SFXci9_x_nrg_lp_00 3006
#define SFXsfx0BBF 3007
#define SFXci9_x_insert_00 3008
#define SFXsfx0BC1 3009
#define SFXsfx0BC2 3010
#define SFXsfx0BC3 3011
#define SFXsfx0BC4 3012
#define SFXsfx0BC5 3013
#define SFXsfx0BC6 3014
#define SFXsfx0BC7 3015
#define SFXsfx0BC8 3016
#define SFXsfx0BC9 3017
#define SFXsfx0BCA 3018
#define SFXsfx0BCB 3019
#define SFXsfx0BCC 3020
#define SFXsfx0BCD 3021
#define SFXsfx0BCE 3022
#define SFXsfx0BCF 3023
#define SFXsfx0BD0 3024
#define SFXsfx0BD1 3025
#define SFXsfx0BD2 3026
#define SFXsfx0BD3 3027
#define SFXsfx0BD4 3028
#define SFXsfx0BD5 3029
#define SFXsfx0BD6 3030
#define SFXsfx0BD7 3031
#define SFXsfx0BD8 3032

View File

@ -0,0 +1,23 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: CineGun
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPCineGun 62
#define SFXsfx0BE5 3045
#define SFXci3_x_clank_00 3046
#define SFXci4_x_clank_00 3047
#define SFXsfx0BE8 3048
#define SFXci3_c_ridiclaw_00 3049
#define SFXsfx0BEA 3050
#define SFXsfx0BEB 3051
#define SFXsfx0BEC 3052
#define SFXsfx0BED 3053
#define SFXsfx0BEE 3054
#define SFXsfx0BEF 3055
#define SFXsfx0BF0 3056
#define SFXsfx0BF1 3057
#define SFXsfx0BF2 3058

View File

@ -0,0 +1,19 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: CineMorphball
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPCineMorphball 63
#define SFXsfx0BF3 3059
#define SFXsfx0BF4 3060
#define SFXsfx0BF5 3061
#define SFXsfx0BF6 3062
#define SFXsfx0BF7 3063
#define SFXsfx0BF8 3064
#define SFXsfx0BF9 3065
#define SFXsfx0BFA 3066
#define SFXsfx0BFB 3067
#define SFXsfx0BFC 3068

View File

@ -0,0 +1,34 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: CineSuit
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPCineSuit 64
#define SFXci2_x_energy_lp_00 3069
#define SFXci2_x_energy_lp_01 3070
#define SFXsfx0BFF 3071
#define SFXsfx0C00 3072
#define SFXci2_x_jump_00 3073
#define SFXsfx0C02 3074
#define SFXci2_x_lights_lp_00 3075
#define SFXci2_x_pad_lp_00 3076
#define SFXsfx0C05 3077
#define SFXsfx0C06 3078
#define SFXci3_x_energy_02 3079
#define SFXsfx0C08 3080
#define SFXsfx0C09 3081
#define SFXci3_x_whoosh_00 3082
#define SFXsfx0C0B 3083
#define SFXsfx0C0C 3084
#define SFXsfx0C0D 3085
#define SFXsfx0C0E 3086
#define SFXsfx0C0F 3087
#define SFXsfx0C10 3088
#define SFXsfx0C11 3089
#define SFXsfx0C12 3090
#define SFXsfx0C13 3091
#define SFXsfx0C14 3092
#define SFXsfx0C15 3093

View File

@ -0,0 +1,21 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: CineVisor
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPCineVisor 61
#define SFXcin_x_visor_00 3033
#define SFXsfx0BDA 3034
#define SFXsfx0BDB 3035
#define SFXsfx0BDC 3036
#define SFXsfx0BDD 3037
#define SFXsfx0BDE 3038
#define SFXsfx0BDF 3039
#define SFXsfx0BE0 3040
#define SFXsfx0BE1 3041
#define SFXsfx0BE2 3042
#define SFXsfx0BE3 3043
#define SFXsfx0BE4 3044

View File

@ -0,0 +1,39 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Crater
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPCrater 44
#define SFXsfx0764 1892
#define SFXsfx0765 1893
#define SFXsfx0766 1894
#define SFXsfx0767 1895
#define SFXsfx0768 1896
#define SFXsfx0769 1897
#define SFXsfx076A 1898
#define SFXsfx076B 1899
#define SFXsfx076C 1900
#define SFXsfx076D 1901
#define SFXsfx076E 1902
#define SFXsfx076F 1903
#define SFXsfx0770 1904
#define SFXsfx0771 1905
#define SFXsfx0772 1906
#define SFXsfx0773 1907
#define SFXsfx0774 1908
#define SFXsfx0775 1909
#define SFXsfx0776 1910
#define SFXsfx0777 1911
#define SFXsfx0778 1912
#define SFXsfx0779 1913
#define SFXsfx077A 1914
#define SFXsfx077B 1915
#define SFXsfx077C 1916
#define SFXsfx077D 1917
#define SFXsfx077E 1918
#define SFXsfx077F 1919
#define SFXsfx0780 1920
#define SFXsfx0781 1921

View File

@ -0,0 +1,19 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Crystallite
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPCrystallite 8
#define SFXcry_b_idle_00 199
#define SFXsfx00C8 200
#define SFXsfx00C9 201
#define SFXsfx00CA 202
#define SFXsfx00CB 203
#define SFXsfx00CC 204
#define SFXsfx00CD 205
#define SFXsfx00CE 206
#define SFXsfx00CF 207
#define SFXsfx00D0 208

View File

@ -0,0 +1,69 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Drones
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPDrones 9
#define SFXepr_a_shockhit_00 209
#define SFXsfx00D2 210
#define SFXdrn_b_burst_00 211
#define SFXsfx00D4 212
#define SFXsfx00D5 213
#define SFXsfx00D6 214
#define SFXsfx00D7 215
#define SFXdrn_b_patrol_lp_00 216
#define SFXdrn_b_henshin_00 217
#define SFXdrn_b_rocket_lp_00 218
#define SFXdrn_b_rocket_lp_01 219
#define SFXdrn_b_rocket_lp_02 220
#define SFXsfx00DD 221
#define SFXdrn_r_death_00 222
#define SFXsfx00DF 223
#define SFXsfx00E0 224
#define SFXdrn_r_impact_00 225
#define SFXsfx00E2 226
#define SFXdrn_a_blast_00 227
#define SFXsfx00E4 228
#define SFXdrn_r_death_lp_00 229
#define SFXsfx00E6 230
#define SFXdrn_b_alert_00 231
#define SFXsfx00E8 232
#define SFXdrn_a_laser_00 233
#define SFXsfx00EA 234
#define SFXsfx00EB 235
#define SFXsfx00EC 236
#define SFXsfx00ED 237
#define SFXdrn_r_impact_01 238
#define SFXsfx00EF 239
#define SFXdrn_a_blast_01 240
#define SFXsfx00F1 241
#define SFXsfx00F2 242
#define SFXdrn_b_henshin_01 243
#define SFXdrn_b_talk_00 244
#define SFXsfx00F5 245
#define SFXdrn_r_death_lp_01 246
#define SFXdrn_a_charge_00 247
#define SFXdrn_b_beep_03 248
#define SFXsfx00F9 249
#define SFXdrn_r_empblast_01 250
#define SFXsfx00FB 251
#define SFXsfx00FC 252
#define SFXdrn_b_patrolun_lp_00 253
#define SFXdrn_a_laserun_00 254
#define SFXopr_a_shockhit_00 255
#define SFXsfx0100 256
#define SFXsfx0101 257
#define SFXsfx0102 258
#define SFXsfx0103 259
#define SFXsfx0104 260
#define SFXsfx0105 261
#define SFXsfx0106 262
#define SFXsfx0107 263
#define SFXsfx0108 264
#define SFXsfx0109 265
#define SFXsfx010A 266
#define SFXsfx010B 267
#define SFXsfx010C 268

View File

@ -0,0 +1,63 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: EliteSpacePirate
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPEliteSpacePirate 10
#define SFXepr_a_grenade_00 269
#define SFXsfx010E 270
#define SFXsfx010F 271
#define SFXepr_b_hitglass_00 272
#define SFXepr_a_swoosh_00 273
#define SFXepr_b_run_00 274
#define SFXepr_b_run_01 275
#define SFXepr_a_shokwave_00 276
#define SFXsfx0115 277
#define SFXepr_a_attack_00 278
#define SFXepr_a_attack_01 279
#define SFXepr_b_land_00 280
#define SFXepr_b_alert_00 281
#define SFXepr_b_walk_00 282
#define SFXepr_b_walk_01 283
#define SFXepr_b_alert_01 284
#define SFXepr_b_absorb_lp_00 285
#define SFXepr_b_idle_00 286
#define SFXepr_b_idle_01 287
#define SFXepr_a_hitgrnd_00 288
#define SFXepr_b_walklite_00 289
#define SFXepr_b_walklite_01 290
#define SFXepr_r_pissed_00 291
#define SFXsfx0124 292
#define SFXsfx0125 293
#define SFXepr_a_swoosh_01 294
#define SFXepr_b_taunt_00 295
#define SFXopr_a_swoosh_00 296
#define SFXopr_a_swoosh_01 297
#define SFXepr_b_blokvox_00 298
#define SFXsfx012B 299
#define SFXopr_a_shokwave_00 300
#define SFXsfx012D 301
#define SFXopr_b_absorb_lp_00 302
#define SFXsfx012F 303
#define SFXsfx0130 304
#define SFXsfx0131 305
#define SFXsfx0132 306
#define SFXsfx0133 307
#define SFXsfx0134 308
#define SFXsfx0135 309
#define SFXsfx0136 310
#define SFXsfx0137 311
#define SFXsfx0138 312
#define SFXsfx0139 313
#define SFXsfx013A 314
#define SFXsfx013B 315
#define SFXsfx013C 316
#define SFXsfx013D 317
#define SFXsfx013E 318
#define SFXsfx013F 319
#define SFXsfx0140 320
#define SFXsfx0141 321
#define SFXsfx0142 322

View File

@ -0,0 +1,22 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: FireFlea
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPFireFlea 11
#define SFXfif_b_idle_lp_00 323
#define SFXsfx0144 324
#define SFXfif_b_light_00 325
#define SFXfif_r_death_00 326
#define SFXfif_r_death_01 327
#define SFXfif_r_explode_00 328
#define SFXfif_r_impact_00 329
#define SFXsfx014A 330
#define SFXsfx014B 331
#define SFXsfx014C 332
#define SFXsfx014D 333
#define SFXsfx014E 334
#define SFXsfx014F 335

View File

@ -0,0 +1,90 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Flaaghra
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPFlaaghra 52
#define SFXfla_a_hitgrnd_00 2600
#define SFXfla_a_swoosh_00 2601
#define SFXfla_a_swoosh_01 2602
#define SFXfla_a_voxattak_00 2603
#define SFXfla_a_voxattak_01 2604
#define SFXfla_b_grow_00 2605
#define SFXfla_b_idle_00 2606
#define SFXsfx0A2F 2607
#define SFXfla_b_voxangry_00 2608
#define SFXfla_b_voxangry_01 2609
#define SFXfla_r_death_00 2610
#define SFXfla_r_death_01 2611
#define SFXfla_r_death_02 2612
#define SFXsfx0A35 2613
#define SFXfla_r_faint_01 2614
#define SFXfla_r_pain_00 2615
#define SFXsfx0A38 2616
#define SFXfla_a_shoot_00 2617
#define SFXfla_a_spit_00 2618
#define SFXfla_a_spit_01 2619
#define SFXsfx0A3C 2620
#define SFXsfx0A3D 2621
#define SFXfla_a_charge_00 2622
#define SFXsfx0A3F 2623
#define SFXsfx0A40 2624
#define SFXfla_b_idlesm_00 2625
#define SFXfla_a_chargevox_00 2626
#define SFXsfx0A43 2627
#define SFXsfx0A44 2628
#define SFXsfx0A45 2629
#define SFXfla_a_shootvox_00 2630
#define SFXsfx0A47 2631
#define SFXsfx0A48 2632
#define SFXsfx0A49 2633
#define SFXsfx0A4A 2634
#define SFXsfx0A4B 2635
#define SFXfla_a_spitvox_00 2636
#define SFXfla_a_spitvox_01 2637
#define SFXsfx0A4E 2638
#define SFXsfx0A4F 2639
#define SFXsfx0A50 2640
#define SFXsfx0A51 2641
#define SFXsfx0A52 2642
#define SFXfla_a_sporevox_01 2643
#define SFXfla_a_hitgrnd_01 2644
#define SFXsfx0A55 2645
#define SFXfla_r_landgrnd_00 2646
#define SFXsfx0A57 2647
#define SFXsfx0A58 2648
#define SFXfla_b_grow_01 2649
#define SFXfla_b_rise_lp_00 2650
#define SFXsfx0A5B 2651
#define SFXfla_b_dizzy_00 2652
#define SFXsfx0A5D 2653
#define SFXsfx0A5E 2654
#define SFXfla_r_painsh_00 2655
#define SFXsfx0A60 2656
#define SFXfla_b_humor_00 2657
#define SFXfla_r_painbig_00 2658
#define SFXfla_b_dizzyout_00 2659
#define SFXfla_b_faintout_00 2660
#define SFXsfx0A65 2661
#define SFXfla_b_dizzy_lp_01 2662
#define SFXsfx0A67 2663
#define SFXsfx0A68 2664
#define SFXsfx0A69 2665
#define SFXsfx0A6A 2666
#define SFXfla_b_voxshrnk_00 2667
#define SFXsfx0A6C 2668
#define SFXsfx0A6D 2669
#define SFXfla_b_voxshrnk_03 2670
#define SFXsfx0A6F 2671
#define SFXsfx0A70 2672
#define SFXsfx0A71 2673
#define SFXsfx0A72 2674
#define SFXsfx0A73 2675
#define SFXsfx0A74 2676
#define SFXsfx0A75 2677
#define SFXsfx0A76 2678
#define SFXsfx0A77 2679
#define SFXsfx0A78 2680

View File

@ -0,0 +1,21 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: FlickerBat
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPFlickerBat 12
#define SFXflk_b_flicker_00 336
#define SFXflk_b_talk_00 337
#define SFXflk_b_talk_01 338
#define SFXsfx0153 339
#define SFXsfx0154 340
#define SFXflk_r_impact_00 341
#define SFXsfx0156 342
#define SFXsfx0157 343
#define SFXsfx0158 344
#define SFXsfx0159 345
#define SFXsfx015A 346
#define SFXsfx015B 347

View File

@ -0,0 +1,68 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: FlyingPirate
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPFlyingPirate 13
#define SFXsfx015C 348
#define SFXfpr_a_chaff_00 349
#define SFXsfx015E 350
#define SFXupr_a_mislfire_00 351
#define SFXsfx0160 352
#define SFXsfx0161 353
#define SFXfpr_a_mislfire_00 354
#define SFXfpr_b_thrust_01 355
#define SFXsfx0164 356
#define SFXfpr_b_engine_lp_00 357
#define SFXfpr_b_engine_lp_01 358
#define SFXfpr_b_engine_lp_02 359
#define SFXfpr_b_voxangry_02 360
#define SFXfpr_b_thrust_00 361
#define SFXsfx016A 362
#define SFXfpr_r_die_00 363
#define SFXfpr_b_intruder_00 364
#define SFXfpr_b_voxalert_00 365
#define SFXfpr_a_mislload_00 366
#define SFXfpr_b_voxangry_00 367
#define SFXsfx0170 368
#define SFXfpr_r_impact_00 369
#define SFXsfx0172 370
#define SFXsfx0173 371
#define SFXsfx0174 372
#define SFXfpr_b_engidle_lp_00 373
#define SFXsfx0176 374
#define SFXfpr_b_blastoff_lp_00 375
#define SFXfpr_b_blastoff_01 376
#define SFXupr_a_mislload_00 377
#define SFXupr_b_engidle_lp_00 378
#define SFXupr_b_engine_lp_00 379
#define SFXupr_b_engine_lp_01 380
#define SFXupr_b_engine_lp_02 381
#define SFXsfx017E 382
#define SFXsfx017F 383
#define SFXupr_b_voxalert_00 384
#define SFXsfx0181 385
#define SFXupr_b_voxangry_00 386
#define SFXsfx0183 387
#define SFXupr_b_voxangry_02 388
#define SFXupr_r_die_00 389
#define SFXupr_r_impact_00 390
#define SFXsfx0187 391
#define SFXsfx0188 392
#define SFXsfx0189 393
#define SFXsfx018A 394
#define SFXsfx018B 395
#define SFXsfx018C 396
#define SFXsfx018D 397
#define SFXsfx018E 398
#define SFXsfx018F 399
#define SFXsfx0190 400
#define SFXsfx0191 401
#define SFXsfx0192 402
#define SFXsfx0193 403
#define SFXsfx0194 404
#define SFXsfx0195 405
#define SFXsfx0196 406

View File

@ -0,0 +1,47 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: FrontEnd
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPFrontEnd 38
#define SFXfnt_transfore_00L 1090
#define SFXfnt_advance_R 1091
#define SFXsfx0444 1092
#define SFXfnt_selection_change 1093
#define SFXfnt_back 1094
#define SFXfnt_enum_change 1095
#define SFXfnt_advance_L 1096
#define SFXfnt_transfore_00R 1097
#define SFXfnt_transfore_01L 1098
#define SFXfnt_transfore_01R 1099
#define SFXfnt_transfore_02L 1100
#define SFXfnt_transfore_02R 1101
#define SFXfnt_transback_00L 1102
#define SFXfnt_transback_00R 1103
#define SFXfnt_transback_01L 1104
#define SFXfnt_transback_01R 1105
#define SFXfnt_transback_02L 1106
#define SFXfnt_transback_02R 1107
#define SFXfnt_tofusion_L 1108
#define SFXfnt_tofusion_R 1109
#define SFXfnt_fromfusion_L 1110
#define SFXfnt_fromfusion_R 1111
#define SFXsfx0458 1112
#define SFXsfx0459 1113
#define SFXsfx045A 1114
#define SFXsfx045B 1115
#define SFXsfx045C 1116
#define SFXsfx045D 1117
#define SFXsfx045E 1118
#define SFXsfx045F 1119
#define SFXsfx0460 1120
#define SFXsfx0461 1121
#define SFXsfx0462 1122
#define SFXsfx0463 1123
#define SFXsfx0464 1124
#define SFXsfx0465 1125
#define SFXsfx0466 1126
#define SFXsfx0467 1127

View File

@ -0,0 +1,61 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: GagantuanBeatle
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPGagantuanBeatle 14
#define SFXgab_r_hitlight_01 407
#define SFXga2_b_digexplod_00 408
#define SFXga2_b_digscream_00 409
#define SFXga2_b_idle_01 410
#define SFXga2_b_scrapedirt_00 411
#define SFXgab_b_walkdirt_02 412
#define SFXgab_b_rundirt_00 413
#define SFXgab_b_rundirt_01 414
#define SFXsfx019F 415
#define SFXgab_a_attack_00 416
#define SFXgab_a_attack_01 417
#define SFXgab_b_idle_03 418
#define SFXgab_b_digexplod_00 419
#define SFXfla_b_scrapedirt_00 420
#define SFXgab_b_idle_02 421
#define SFXgab_b_idle_00 422
#define SFXgab_b_idle_01 423
#define SFXgab_b_walkdirt_00 424
#define SFXgab_b_walkdirt_01 425
#define SFXgab_r_collide_00 426
#define SFXsfx01AB 427
#define SFXgab_r_death_01 428
#define SFXgab_r_detect_00 429
#define SFXgab_r_hitlight_00 430
#define SFXgab_b_digscream_00 431
#define SFXgab_b_scrapedirt_00 432
#define SFXga2_b_dig_lp_00 433
#define SFXga2_b_rundirt_00 434
#define SFXgab_b_dig_lp_00 435
#define SFXga2_b_rundirt_01 436
#define SFXga2_b_rundirt_02 437
#define SFXga2_b_walkdirt_00 438
#define SFXga2_b_walkdirt_01 439
#define SFXga2_b_walkdirt_02 440
#define SFXga2_r_collide_00 441
#define SFXga2_a_attack_00 442
#define SFXsfx01BB 443
#define SFXsfx01BC 444
#define SFXsfx01BD 445
#define SFXsfx01BE 446
#define SFXsfx01BF 447
#define SFXsfx01C0 448
#define SFXsfx01C1 449
#define SFXsfx01C2 450
#define SFXsfx01C3 451
#define SFXsfx01C4 452
#define SFXsfx01C5 453
#define SFXsfx01C6 454
#define SFXsfx01C7 455
#define SFXsfx01C8 456
#define SFXsfx01C9 457
#define SFXsfx01CA 458

16
Runtime/Audio/SFX/Gnats.h Normal file
View File

@ -0,0 +1,16 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Gnats
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPGnats 15
#define SFXsfx01CB 459
#define SFXsfx01CC 460
#define SFXsfx01CD 461
#define SFXsfx01CE 462
#define SFXsfx01CF 463
#define SFXsfx01D0 464
#define SFXsfx01D1 465

View File

@ -0,0 +1,21 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Gryzbee
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPGryzbee 16
#define SFXgrz_b_idle_00 466
#define SFXsfx01D3 467
#define SFXsfx01D4 468
#define SFXsfx01D5 469
#define SFXsfx01D6 470
#define SFXsfx01D7 471
#define SFXsfx01D8 472
#define SFXsfx01D9 473
#define SFXsfx01DA 474
#define SFXsfx01DB 475
#define SFXsfx01DC 476
#define SFXsfx01DD 477

View File

@ -0,0 +1,29 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: IceCrack
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPIceCrack 67
#define SFXsfx0C31 3121
#define SFXsfx0C32 3122
#define SFXsfx0C33 3123
#define SFXsfx0C34 3124
#define SFXsfx0C35 3125
#define SFXsfx0C36 3126
#define SFXcrk_break_subsequent 3127
#define SFXcrk_break_initial 3128
#define SFXcrk_break_final 3129
#define SFXsfx0C3A 3130
#define SFXsfx0C3B 3131
#define SFXsfx0C3C 3132
#define SFXsfx0C3D 3133
#define SFXsfx0C3E 3134
#define SFXsfx0C3F 3135
#define SFXsfx0C40 3136
#define SFXsfx0C41 3137
#define SFXsfx0C42 3138
#define SFXsfx0C43 3139
#define SFXsfx0C44 3140

View File

@ -0,0 +1,129 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: IceWorld
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPIceWorld 45
#define SFXice_x_gateopen_lp_00 1922
#define SFXice_x_gatestop_00 1923
#define SFXsfx0784 1924
#define SFXice_x_towercrk_00 1925
#define SFXice_ballroll_ice 1926
#define SFXice_ballroll_snow 1927
#define SFXsfx0788 1928
#define SFXice_x_towerlnd_00 1929
#define SFXsfx078A 1930
#define SFXice_x_towerlnd_01 1931
#define SFXice_x_towercrk_01 1932
#define SFXice_x_towercrk_02 1933
#define SFXsfx078E 1934
#define SFXsfx078F 1935
#define SFXsfx0790 1936
#define SFXsfx0791 1937
#define SFXsfx0792 1938
#define SFXsfx0793 1939
#define SFXsfx0794 1940
#define SFXsfx0795 1941
#define SFXsfx0796 1942
#define SFXsfx0797 1943
#define SFXsfx0798 1944
#define SFXsfx0799 1945
#define SFXsfx079A 1946
#define SFXsfx079B 1947
#define SFXsfx079C 1948
#define SFXsfx079D 1949
#define SFXsfx079E 1950
#define SFXsfx079F 1951
#define SFXsfx07A0 1952
#define SFXsfx07A1 1953
#define SFXsfx07A2 1954
#define SFXsfx07A3 1955
#define SFXsfx07A4 1956
#define SFXsfx07A5 1957
#define SFXsfx07A6 1958
#define SFXsfx07A7 1959
#define SFXsfx07A8 1960
#define SFXsfx07A9 1961
#define SFXsfx07AA 1962
#define SFXsfx07AB 1963
#define SFXsfx07AC 1964
#define SFXsfx07AD 1965
#define SFXsfx07AE 1966
#define SFXsfx07AF 1967
#define SFXtha_b_rockup_lp_00 1968
#define SFXsfx07B1 1969
#define SFXsfx07B2 1970
#define SFXice_x_ridflap_00 1971
#define SFXsfx07B4 1972
#define SFXsfx07B5 1973
#define SFXsfx07B6 1974
#define SFXice_x_pump_00 1975
#define SFXsfx07B8 1976
#define SFXsfx07B9 1977
#define SFXsfx07BA 1978
#define SFXsfx07BB 1979
#define SFXsfx07BC 1980
#define SFXsfx07BD 1981
#define SFXice_x_piston_00 1982
#define SFXice_x_piston_lp_00 1983
#define SFXsfx07C0 1984
#define SFXsfx07C1 1985
#define SFXsfx07C2 1986
#define SFXsfx07C3 1987
#define SFXsfx07C4 1988
#define SFXsfx07C5 1989
#define SFXsfx07C6 1990
#define SFXsfx07C7 1991
#define SFXsfx07C8 1992
#define SFXsfx07C9 1993
#define SFXtha_b_debris_00 1994
#define SFXtha_b_debris_01 1995
#define SFXsfx07CC 1996
#define SFXsfx07CD 1997
#define SFXsfx07CE 1998
#define SFXsfx07CF 1999
#define SFXsfx07D0 2000
#define SFXsfx07D1 2001
#define SFXsfx07D2 2002
#define SFXsfx07D3 2003
#define SFXsfx07D4 2004
#define SFXsfx07D5 2005
#define SFXsfx07D6 2006
#define SFXsfx07D7 2007
#define SFXsfx07D8 2008
#define SFXsfx07D9 2009
#define SFXsfx07DA 2010
#define SFXsfx07DB 2011
#define SFXsfx07DC 2012
#define SFXsfx07DD 2013
#define SFXsfx07DE 2014
#define SFXsfx07DF 2015
#define SFXsfx07E0 2016
#define SFXsfx07E1 2017
#define SFXsfx07E2 2018
#define SFXsfx07E3 2019
#define SFXsfx07E4 2020
#define SFXsfx07E5 2021
#define SFXsfx07E6 2022
#define SFXsfx07E7 2023
#define SFXsfx07E8 2024
#define SFXsfx07E9 2025
#define SFXsfx07EA 2026
#define SFXsfx07EB 2027
#define SFXsfx07EC 2028
#define SFXsfx07ED 2029
#define SFXsfx07EE 2030
#define SFXsfx07EF 2031
#define SFXsfx07F0 2032
#define SFXsfx07F1 2033
#define SFXsfx07F2 2034
#define SFXsfx07F3 2035
#define SFXsfx07F4 2036
#define SFXsfx07F5 2037
#define SFXsfx07F6 2038
#define SFXsfx07F7 2039
#define SFXsfx07F8 2040
#define SFXsfx07F9 2041

View File

@ -0,0 +1,39 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: InjuredPirates
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPInjuredPirates 17
#define SFXsfx01DE 478
#define SFXsfx01DF 479
#define SFXspr_b_exhale_00 480
#define SFXsfx01E1 481
#define SFXspr_b_moan_00 482
#define SFXsfx01E3 483
#define SFXsfx01E4 484
#define SFXsfx01E5 485
#define SFXsfx01E6 486
#define SFXsfx01E7 487
#define SFXsfx01E8 488
#define SFXsfx01E9 489
#define SFXsfx01EA 490
#define SFXsfx01EB 491
#define SFXsfx01EC 492
#define SFXsfx01ED 493
#define SFXsfx01EE 494
#define SFXsfx01EF 495
#define SFXsfx01F0 496
#define SFXsfx01F1 497
#define SFXsfx01F2 498
#define SFXsfx01F3 499
#define SFXsfx01F4 500
#define SFXsfx01F5 501
#define SFXsfx01F6 502
#define SFXsfx01F7 503
#define SFXsfx01F8 504
#define SFXsfx01F9 505
#define SFXsfx01FA 506
#define SFXsfx01FB 507

View File

@ -0,0 +1,51 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: IntroBoss
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPIntroBoss 0
#define SFXsfx0000 0
#define SFXsfx0001 1
#define SFXsfx0002 2
#define SFXpaq_a_spit_lp_00 3
#define SFXpaq_b_squawk_00 4
#define SFXpaq_b_creak_00 5
#define SFXpaq_b_creak_01 6
#define SFXpaq_b_growl_00 7
#define SFXpaq_b_growl_01 8
#define SFXpaq_b_land_00 9
#define SFXpaq_b_roar_00 10
#define SFXpaq_b_roar_01 11
#define SFXsfx000C 12
#define SFXpaq_b_walk_00 13
#define SFXpaq_b_walk_01 14
#define SFXpaq_r_impact_00 15
#define SFXpaq_r_impact_01 16
#define SFXpaq_r_ldeath_00 17
#define SFXpaq_r_sdeath_01 18
#define SFXpaq_b_swish_00 19
#define SFXsfx0014 20
#define SFXsfx0015 21
#define SFXsfx0016 22
#define SFXpaq_b_land_01 23
#define SFXpaq_b_run_00 24
#define SFXpaq_b_run_01 25
#define SFXsfx001A 26
#define SFXsfx001B 27
#define SFXsfx001C 28
#define SFXsfx001D 29
#define SFXsfx001E 30
#define SFXsfx001F 31
#define SFXsfx0020 32
#define SFXsfx0021 33
#define SFXsfx0022 34
#define SFXsfx0023 35
#define SFXsfx0024 36
#define SFXsfx0025 37
#define SFXsfx0026 38
#define SFXsfx0027 39
#define SFXsfx0028 40
#define SFXsfx0029 41

View File

@ -0,0 +1,148 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: IntroWorld
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPIntroWorld 46
#define SFXsfx07FA 2042
#define SFXsfx07FB 2043
#define SFXsfx07FC 2044
#define SFXsfx07FD 2045
#define SFXsfx07FE 2046
#define SFXint_c_suitsprk_lp_01 2047
#define SFXsfx0800 2048
#define SFXsfx0801 2049
#define SFXsfx0802 2050
#define SFXsfx0803 2051
#define SFXsfx0804 2052
#define SFXsfx0805 2053
#define SFXsfx0806 2054
#define SFXsfx0807 2055
#define SFXsfx0808 2056
#define SFXsfx0809 2057
#define SFXsfx080A 2058
#define SFXsfx080B 2059
#define SFXsfx080C 2060
#define SFXsfx080D 2061
#define SFXsfx080E 2062
#define SFXsfx080F 2063
#define SFXsfx0810 2064
#define SFXsfx0811 2065
#define SFXsfx0812 2066
#define SFXsfx0813 2067
#define SFXsfx0814 2068
#define SFXsfx0815 2069
#define SFXsfx0816 2070
#define SFXsfx0817 2071
#define SFXsfx0818 2072
#define SFXsfx0819 2073
#define SFXsfx081A 2074
#define SFXsfx081B 2075
#define SFXsfx081C 2076
#define SFXsfx081D 2077
#define SFXsfx081E 2078
#define SFXsfx081F 2079
#define SFXsfx0820 2080
#define SFXsfx0821 2081
#define SFXsfx0822 2082
#define SFXsfx0823 2083
#define SFXsfx0824 2084
#define SFXsfx0825 2085
#define SFXsfx0826 2086
#define SFXsfx0827 2087
#define SFXsfx0828 2088
#define SFXsfx0829 2089
#define SFXsfx082A 2090
#define SFXsfx082B 2091
#define SFXsfx082C 2092
#define SFXsfx082D 2093
#define SFXsfx082E 2094
#define SFXsfx082F 2095
#define SFXsfx0830 2096
#define SFXsfx0831 2097
#define SFXsfx0832 2098
#define SFXsfx0833 2099
#define SFXsfx0834 2100
#define SFXsfx0835 2101
#define SFXsfx0836 2102
#define SFXsfx0837 2103
#define SFXsfx0838 2104
#define SFXsfx0839 2105
#define SFXsfx083A 2106
#define SFXsfx083B 2107
#define SFXsfx083C 2108
#define SFXint_x_frtdoor_00 2109
#define SFXint_x_frtdoor_01 2110
#define SFXsfx083F 2111
#define SFXsfx0840 2112
#define SFXsfx0841 2113
#define SFXsfx0842 2114
#define SFXsfx0843 2115
#define SFXsfx0844 2116
#define SFXsfx0845 2117
#define SFXsfx0846 2118
#define SFXsfx0847 2119
#define SFXsfx0848 2120
#define SFXsfx0849 2121
#define SFXsfx084A 2122
#define SFXsfx084B 2123
#define SFXsfx084C 2124
#define SFXsfx084D 2125
#define SFXint_c_suitbrst_01 2126
#define SFXsfx084F 2127
#define SFXsfx0850 2128
#define SFXsfx0851 2129
#define SFXint_c_shipthst_00 2130
#define SFXsfx0853 2131
#define SFXsfx0854 2132
#define SFXsfx0855 2133
#define SFXsfx0856 2134
#define SFXsfx0857 2135
#define SFXsfx0858 2136
#define SFXsfx0859 2137
#define SFXsfx085A 2138
#define SFXsfx085B 2139
#define SFXsfx085C 2140
#define SFXsfx085D 2141
#define SFXsfx085E 2142
#define SFXsfx085F 2143
#define SFXsfx0860 2144
#define SFXsfx0861 2145
#define SFXsfx0862 2146
#define SFXsfx0863 2147
#define SFXsfx0864 2148
#define SFXsfx0865 2149
#define SFXsfx0866 2150
#define SFXsfx0867 2151
#define SFXsfx0868 2152
#define SFXsfx0869 2153
#define SFXsfx086A 2154
#define SFXsfx086B 2155
#define SFXsfx086C 2156
#define SFXsfx086D 2157
#define SFXsfx086E 2158
#define SFXsfx086F 2159
#define SFXsfx0870 2160
#define SFXint_x_clampstp_00 2161
#define SFXint_x_clamp_00 2162
#define SFXint_x_clamp_01 2163
#define SFXsfx0874 2164
#define SFXsfx0875 2165
#define SFXsfx0876 2166
#define SFXsfx0877 2167
#define SFXsfx0878 2168
#define SFXsfx0879 2169
#define SFXsfx087A 2170
#define SFXsfx087B 2171
#define SFXsfx087C 2172
#define SFXsfx087D 2173
#define SFXsfx087E 2174
#define SFXsfx087F 2175
#define SFXsfx0880 2176
#define SFXsfx0881 2177
#define SFXsfx0882 2178
#define SFXsfx0883 2179
#define SFXsfx0884 2180

View File

@ -0,0 +1,19 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: JellyZap
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPJellyZap 18
#define SFXjzp_a_shock_00 508
#define SFXjzp_a_suck_lp_00 509
#define SFXjzp_b_bubbles_00 510
#define SFXjzp_b_growl_00 511
#define SFXsfx0200 512
#define SFXsfx0201 513
#define SFXsfx0202 514
#define SFXsfx0203 515
#define SFXsfx0204 516
#define SFXsfx0205 517

View File

@ -0,0 +1,112 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: LavaWorld
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPLavaWorld 47
#define SFXsfx0885 2181
#define SFXsfx0886 2182
#define SFXlav_wlklava_00 2183
#define SFXlav_wlklava_01 2184
#define SFXsfx0889 2185
#define SFXlav_ballroll_lava 2186
#define SFXsfx088B 2187
#define SFXsfx088C 2188
#define SFXsfx088D 2189
#define SFXlav_landlava_00 2190
#define SFXsfx088F 2191
#define SFXsfx0890 2192
#define SFXsfx0891 2193
#define SFXsfx0892 2194
#define SFXsfx0893 2195
#define SFXsfx0894 2196
#define SFXsfx0895 2197
#define SFXsfx0896 2198
#define SFXsfx0897 2199
#define SFXsfx0898 2200
#define SFXsfx0899 2201
#define SFXsfx089A 2202
#define SFXsfx089B 2203
#define SFXsfx089C 2204
#define SFXsfx089D 2205
#define SFXsfx089E 2206
#define SFXsfx089F 2207
#define SFXsfx08A0 2208
#define SFXsfx08A1 2209
#define SFXsfx08A2 2210
#define SFXsfx08A3 2211
#define SFXsfx08A4 2212
#define SFXsfx08A5 2213
#define SFXsfx08A6 2214
#define SFXsfx08A7 2215
#define SFXlav_x_piston_lp_00 2216
#define SFXsfx08A9 2217
#define SFXlav_x_piststop_00 2218
#define SFXlav_x_piststop_01 2219
#define SFXsfx08AC 2220
#define SFXsfx08AD 2221
#define SFXswp_x_03bridgestop_00 2222
#define SFXsfx08AF 2223
#define SFXsfx08B0 2224
#define SFXsfx08B1 2225
#define SFXsfx08B2 2226
#define SFXsfx08B3 2227
#define SFXsfx08B4 2228
#define SFXsfx08B5 2229
#define SFXsfx08B6 2230
#define SFXsfx08B7 2231
#define SFXsfx08B8 2232
#define SFXsfx08B9 2233
#define SFXsfx08BA 2234
#define SFXsfx08BB 2235
#define SFXsfx08BC 2236
#define SFXsfx08BD 2237
#define SFXsfx08BE 2238
#define SFXmag_b_rise_00 2239
#define SFXsfx08C0 2240
#define SFXsfx08C1 2241
#define SFXsfx08C2 2242
#define SFXsfx08C3 2243
#define SFXsfx08C4 2244
#define SFXsfx08C5 2245
#define SFXsfx08C6 2246
#define SFXsfx08C7 2247
#define SFXsfx08C8 2248
#define SFXsfx08C9 2249
#define SFXsfx08CA 2250
#define SFXsfx08CB 2251
#define SFXsfx08CC 2252
#define SFXlav_x_gateup_lp_00 2253
#define SFXsfx08CE 2254
#define SFXlav_x_refrig_00 2255
#define SFXlav_x_gatestop_00 2256
#define SFXsfx08D1 2257
#define SFXsfx08D2 2258
#define SFXsfx08D3 2259
#define SFXsfx08D4 2260
#define SFXsfx08D5 2261
#define SFXsfx08D6 2262
#define SFXlav_landlava_02 2263
#define SFXsfx08D8 2264
#define SFXsfx08D9 2265
#define SFXsfx08DA 2266
#define SFXsfx08DB 2267
#define SFXsfx08DC 2268
#define SFXsfx08DD 2269
#define SFXsfx08DE 2270
#define SFXsfx08DF 2271
#define SFXsfx08E0 2272
#define SFXsfx08E1 2273
#define SFXsfx08E2 2274
#define SFXsfx08E3 2275
#define SFXsfx08E4 2276
#define SFXsfx08E5 2277
#define SFXsfx08E6 2278
#define SFXsfx08E7 2279
#define SFXsfx08E8 2280
#define SFXsfx08E9 2281
#define SFXsfx08EA 2282
#define SFXsfx08EB 2283

View File

@ -0,0 +1,39 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Magdolite
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPMagdolite 19
#define SFXmag_b_alert_00 518
#define SFXmag_b_idle_00 519
#define SFXsfx0208 520
#define SFXmag_r_pain_00 521
#define SFXmag_a_bite_00 522
#define SFXmag_r_death_00 523
#define SFXmag_a_breath_00 524
#define SFXmag_a_flame_lp_00 525
#define SFXmag_r_yelp_00 526
#define SFXsfx020F 527
#define SFXsfx0210 528
#define SFXsfx0211 529
#define SFXsfx0212 530
#define SFXsfx0213 531
#define SFXsfx0214 532
#define SFXsfx0215 533
#define SFXsfx0216 534
#define SFXsfx0217 535
#define SFXsfx0218 536
#define SFXsfx0219 537
#define SFXsfx021A 538
#define SFXsfx021B 539
#define SFXsfx021C 540
#define SFXsfx021D 541
#define SFXsfx021E 542
#define SFXsfx021F 543
#define SFXsfx0220 544
#define SFXsfx0221 545
#define SFXsfx0222 546
#define SFXsfx0223 547

View File

@ -0,0 +1,20 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Metaree
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPMetaree 20
#define SFXmtr_a_scream_00 548
#define SFXsfx0225 549
#define SFXmtr_b_spin_lp_06 550
#define SFXmtr_b_spin_lp_07 551
#define SFXsfx0228 552
#define SFXsfx0229 553
#define SFXsfx022A 554
#define SFXsfx022B 555
#define SFXsfx022C 556
#define SFXsfx022D 557
#define SFXsfx022E 558

View File

@ -0,0 +1,74 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Metroid
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPMetroid 21
#define SFXsfx022F 559
#define SFXsfx0230 560
#define SFXmtd_a_facehug_02 561
#define SFXmtd_a_swoosh_00 562
#define SFXmtd_a_swoosh_01 563
#define SFXmtd_a_thunk_00 564
#define SFXmtd_b_fadein_00 565
#define SFXmtd_b_fadeout_00 566
#define SFXmtd_b_float_lp_00 567
#define SFXmtd_b_float_lp_01 568
#define SFXmtd_b_idle_00 569
#define SFXmtd_b_idle_01 570
#define SFXsfx023B 571
#define SFXsfx023C 572
#define SFXsfx023D 573
#define SFXsfx023E 574
#define SFXsfx023F 575
#define SFXmtd_b_squish_00 576
#define SFXmtd_b_squish_01 577
#define SFXsfx0242 578
#define SFXmtd_b_voxangry_00 579
#define SFXsfx0244 580
#define SFXsfx0245 581
#define SFXmtd_r_impact_00 582
#define SFXsfx0247 583
#define SFXsfx0248 584
#define SFXmt2_a_facehug_02 585
#define SFXsfx024A 586
#define SFXsfx024B 587
#define SFXsfx024C 588
#define SFXsfx024D 589
#define SFXmt2_b_float_lp_00 590
#define SFXmt2_b_float_lp_01 591
#define SFXsfx0250 592
#define SFXsfx0251 593
#define SFXsfx0252 594
#define SFXmt2_b_idle_02 595
#define SFXsfx0254 596
#define SFXsfx0255 597
#define SFXmt2_b_leech_lp_00 598
#define SFXsfx0257 599
#define SFXsfx0258 600
#define SFXmt2_b_voxangry_00 601
#define SFXmt2_b_voxangry_01 602
#define SFXsfx025B 603
#define SFXmt2_r_impact_00 604
#define SFXmtd_b_grow_00 605
#define SFXmtd_b_suck_lp_00 606
#define SFXmtd_r_death_00 607
#define SFXmt2_b_float_lp_02 608
#define SFXsfx0261 609
#define SFXmtd_b_voxcalm_00 610
#define SFXsfx0263 611
#define SFXsfx0264 612
#define SFXsfx0265 613
#define SFXsfx0266 614
#define SFXsfx0267 615
#define SFXsfx0268 616
#define SFXsfx0269 617
#define SFXsfx026A 618
#define SFXsfx026B 619
#define SFXsfx026C 620
#define SFXsfx026D 621
#define SFXsfx026E 622
#define SFXsfx026F 623

View File

@ -0,0 +1,90 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: MetroidPrime
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPMetroidPrime 58
#define SFXmtb_b_voxtaunt_00 2891
#define SFXsfx0B4C 2892
#define SFXmtb_a_claw_00 2893
#define SFXmtb_a_swoosh 2894
#define SFXmtb_b_voxattak_00 2895
#define SFXmtb_b_walk_00 2896
#define SFXmtb_b_walk_01 2897
#define SFXmtb_b_walk_02 2898
#define SFXmtb_b_voxidle_00 2899
#define SFXsfx0B54 2900
#define SFXmtb_r_painbig_00 2901
#define SFXmtb_r_painsm_00 2902
#define SFXmtb_b_voxattak_01 2903
#define SFXmtb_a_icewave_lp_00 2904
#define SFXsfx0B59 2905
#define SFXsfx0B5A 2906
#define SFXmtb_b_voxangry_00 2907
#define SFXmtb_b_voxangry_01 2908
#define SFXmtb_a_flame_lp_00 2909
#define SFXmtb_a_mirv_00 2910
#define SFXsfx0B5F 2911
#define SFXsfx0B60 2912
#define SFXmth_b_dash_00 2913
#define SFXmth_c_painbig_00 2914
#define SFXmth_b_voxcall_00 2915
#define SFXmth_b_voxidle_00 2916
#define SFXmth_b_voxidle_01 2917
#define SFXmth_b_voxtaunt_00 2918
#define SFXsfx0B67 2919
#define SFXmtb_a_hitwall_00 2920
#define SFXmth_c_painsm_00 2921
#define SFXsfx0B6A 2922
#define SFXsfx0B6B 2923
#define SFXmtb_a_flameup_lp_00 2924
#define SFXsfx0B6D 2925
#define SFXsfx0B6E 2926
#define SFXsfx0B6F 2927
#define SFXsfx0B70 2928
#define SFXsfx0B71 2929
#define SFXmth_b_emerge_00 2930
#define SFXsfx0B73 2931
#define SFXmth_b_voxattak_01 2932
#define SFXsfx0B75 2933
#define SFXmth_b_float_lp_00 2934
#define SFXsfx0B77 2935
#define SFXmth_a_blast_lp_00 2936
#define SFXsfx0B79 2937
#define SFXsfx0B7A 2938
#define SFXsfx0B7B 2939
#define SFXmth_a_blasthit_00 2940
#define SFXsfx0B7D 2941
#define SFXsfx0B7E 2942
#define SFXmtb_c_cinemove_00 2943
#define SFXsfx0B80 2944
#define SFXmtb_c_land_00 2945
#define SFXmtb_c_wakeup_00 2946
#define SFXsfx0B83 2947
#define SFXsfx0B84 2948
#define SFXsfx0B85 2949
#define SFXsfx0B86 2950
#define SFXsfx0B87 2951
#define SFXmtb_a_tractor_lp_00 2952
#define SFXmth_a_swing_00 2953
#define SFXsfx0B8A 2954
#define SFXsfx0B8B 2955
#define SFXsfx0B8C 2956
#define SFXsfx0B8D 2957
#define SFXsfx0B8E 2958
#define SFXmtb_b_land_00 2959
#define SFXmth_c_blur_00 2960
#define SFXsfx0B91 2961
#define SFXsfx0B92 2962
#define SFXsfx0B93 2963
#define SFXsfx0B94 2964
#define SFXsfx0B95 2965
#define SFXsfx0B96 2966
#define SFXmtb_a_nrgchg_00 2967
#define SFXsfx0B98 2968
#define SFXmtb_a_nrgfire_lp_00 2969
#define SFXsfx0B9A 2970
#define SFXsfx0B9B 2971

View File

@ -0,0 +1,90 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: MinesWorld
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPMinesWorld 48
#define SFXsfx08EC 2284
#define SFXsfx08ED 2285
#define SFXsfx08EE 2286
#define SFXsfx08EF 2287
#define SFXsfx08F0 2288
#define SFXsfx08F1 2289
#define SFXmin_x_cranestop_00 2290
#define SFXsfx08F3 2291
#define SFXmin_x_piston_00 2292
#define SFXsfx08F5 2293
#define SFXsfx08F6 2294
#define SFXsfx08F7 2295
#define SFXsfx08F8 2296
#define SFXmin_x_crane_lp_00 2297
#define SFXsfx08FA 2298
#define SFXsfx08FB 2299
#define SFXsfx08FC 2300
#define SFXsfx08FD 2301
#define SFXsfx08FE 2302
#define SFXsfx08FF 2303
#define SFXsfx0900 2304
#define SFXsfx0901 2305
#define SFXsfx0902 2306
#define SFXopr_c_land_00 2307
#define SFXsfx0904 2308
#define SFXsfx0905 2309
#define SFXsfx0906 2310
#define SFXsfx0907 2311
#define SFXsfx0908 2312
#define SFXmin_x_gears_lp_01 2313
#define SFXsfx090A 2314
#define SFXsfx090B 2315
#define SFXsfx090C 2316
#define SFXsfx090D 2317
#define SFXsfx090E 2318
#define SFXsfx090F 2319
#define SFXsfx0910 2320
#define SFXsfx0911 2321
#define SFXsfx0912 2322
#define SFXsfx0913 2323
#define SFXsfx0914 2324
#define SFXsfx0915 2325
#define SFXsfx0916 2326
#define SFXmin_x_turbine_lp_00 2327
#define SFXsfx0918 2328
#define SFXsfx0919 2329
#define SFXsfx091A 2330
#define SFXsfx091B 2331
#define SFXsfx091C 2332
#define SFXsfx091D 2333
#define SFXsfx091E 2334
#define SFXsfx091F 2335
#define SFXsfx0920 2336
#define SFXsfx0921 2337
#define SFXsfx0922 2338
#define SFXsfx0923 2339
#define SFXsfx0924 2340
#define SFXsfx0925 2341
#define SFXsfx0926 2342
#define SFXsfx0927 2343
#define SFXsfx0928 2344
#define SFXsfx0929 2345
#define SFXsfx092A 2346
#define SFXsfx092B 2347
#define SFXsfx092C 2348
#define SFXsfx092D 2349
#define SFXsfx092E 2350
#define SFXsfx092F 2351
#define SFXsfx0930 2352
#define SFXsfx0931 2353
#define SFXsfx0932 2354
#define SFXsfx0933 2355
#define SFXsfx0934 2356
#define SFXsfx0935 2357
#define SFXsfx0936 2358
#define SFXsfx0937 2359
#define SFXsfx0938 2360
#define SFXsfx0939 2361
#define SFXsfx093A 2362
#define SFXsfx093B 2363
#define SFXsfx093C 2364

256
Runtime/Audio/SFX/Misc.h Normal file
View File

@ -0,0 +1,256 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Misc
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPMisc 39
#define SFXdor_x_close_00 1128
#define SFXdor_x_open_00 1129
#define SFXsfx046A 1130
#define SFXpik_x_idle_00 1131
#define SFXsfx046C 1132
#define SFXamb_x_rumble_lp_00 1133
#define SFXsfx046E 1134
#define SFXpik_x_morphamb_lp_00 1135
#define SFXpik_x_powerup_00 1136
#define SFXsfx0471 1137
#define SFXsfx0472 1138
#define SFXsfx0473 1139
#define SFXsfx0474 1140
#define SFXamb_x_splash_02 1141
#define SFXsfx0476 1142
#define SFXsfx0477 1143
#define SFXsfx0478 1144
#define SFXsfx0479 1145
#define SFXsfx047A 1146
#define SFXpik_x_elevamb_lp_00 1147
#define SFXsfx047C 1148
#define SFXeff_x_largeburndeath_lp_00 1149
#define SFXeff_x_smallburndeath_lp_00 1150
#define SFXeff_x_fire_lp_00 1151
#define SFXsfx0480 1152
#define SFXsfx0481 1153
#define SFXci2_x_eletric_00 1154
#define SFXci3_x_electric_lp_00 1155
#define SFXmac_x_fire_lp_00 1156
#define SFXsfx0485 1157
#define SFXci4_x_electric_lp_00 1158
#define SFXsfx0487 1159
#define SFXsfx0488 1160
#define SFXsfx0489 1161
#define SFXsfx048A 1162
#define SFXsfx048B 1163
#define SFXdrn_b_smoke_lp_00 1164
#define SFXga2_r_explode_00 1165
#define SFXsfx048E 1166
#define SFXsfx048F 1167
#define SFXsfx0490 1168
#define SFXsfx0491 1169
#define SFXmag_r_explode_00 1170
#define SFXsfx0493 1171
#define SFXsfx0494 1172
#define SFXsfx0495 1173
#define SFXsfx0496 1174
#define SFXsfx0497 1175
#define SFXeff_x_icebrk_00 1176
#define SFXeff_x_icebrk_01 1177
#define SFXsfx049A 1178
#define SFXsfx049B 1179
#define SFXsfx049C 1180
#define SFXsfx049D 1181
#define SFXsfx049E 1182
#define SFXsfx049F 1183
#define SFXsfx04A0 1184
#define SFXsfx04A1 1185
#define SFXmac_x_fireup_00 1186
#define SFXsfx04A3 1187
#define SFXsfx04A4 1188
#define SFXsfx04A5 1189
#define SFXsfx04A6 1190
#define SFXsfx04A7 1191
#define SFXsfx04A8 1192
#define SFXsfx04A9 1193
#define SFXsfx04AA 1194
#define SFXsfx04AB 1195
#define SFXsfx04AC 1196
#define SFXeff_x_electro_lp_00 1197
#define SFXeff_x_electro_lp_01 1198
#define SFXsfx04AF 1199
#define SFXsfx04B0 1200
#define SFXsfx04B1 1201
#define SFXsfx04B2 1202
#define SFXsfx04B3 1203
#define SFXsfx04B4 1204
#define SFXsfx04B5 1205
#define SFXsfx04B6 1206
#define SFXsfx04B7 1207
#define SFXsfx04B8 1208
#define SFXsfx04B9 1209
#define SFXsfx04BA 1210
#define SFXsfx04BB 1211
#define SFXsfx04BC 1212
#define SFXsfx04BD 1213
#define SFXsfx04BE 1214
#define SFXsfx04BF 1215
#define SFXsfx04C0 1216
#define SFXsfx04C1 1217
#define SFXsfx04C2 1218
#define SFXocu_b_gas_lp_00 1219
#define SFXsfx04C4 1220
#define SFXsfx04C5 1221
#define SFXsfx04C6 1222
#define SFXtha_a_electric_00 1223
#define SFXsfx04C8 1224
#define SFXdrn_r_empelec_00 1225
#define SFXeff_x_frozen_00 1226
#define SFXeff_x_frozen_01 1227
#define SFXsfx04CC 1228
#define SFXsfx04CD 1229
#define SFXsfx04CE 1230
#define SFXsfx04CF 1231
#define SFXsfx04D0 1232
#define SFXsfx04D1 1233
#define SFXepr_b_elec_lp_00 1234
#define SFXsfx04D3 1235
#define SFXsfx04D4 1236
#define SFXsfx04D5 1237
#define SFXsfx04D6 1238
#define SFXsfx04D7 1239
#define SFXamb_x_gatestop_00 1240
#define SFXsfx04D9 1241
#define SFXsfx04DA 1242
#define SFXsfx04DB 1243
#define SFXsfx04DC 1244
#define SFXsfx04DD 1245
#define SFXsfx04DE 1246
#define SFXsfx04DF 1247
#define SFXsfx04E0 1248
#define SFXsfx04E1 1249
#define SFXsfx04E2 1250
#define SFXsfx04E3 1251
#define SFXsfx04E4 1252
#define SFXsfx04E5 1253
#define SFXsfx04E6 1254
#define SFXsfx04E7 1255
#define SFXsfx04E8 1256
#define SFXsfx04E9 1257
#define SFXsfx04EA 1258
#define SFXsfx04EB 1259
#define SFXsfx04EC 1260
#define SFXsfx04ED 1261
#define SFXsfx04EE 1262
#define SFXsfx04EF 1263
#define SFXsfx04F0 1264
#define SFXsfx04F1 1265
#define SFXsfx04F2 1266
#define SFXsfx04F3 1267
#define SFXsfx04F4 1268
#define SFXamb_x_gateup_00 1269
#define SFXsfx04F6 1270
#define SFXsfx04F7 1271
#define SFXsfx04F8 1272
#define SFXsfx04F9 1273
#define SFXsfx04FA 1274
#define SFXrid_r_explode_00 1275
#define SFXsfx04FC 1276
#define SFXsfx04FD 1277
#define SFXsfx04FE 1278
#define SFXsfx04FF 1279
#define SFXsfx0500 1280
#define SFXsfx0501 1281
#define SFXsfx0502 1282
#define SFXsfx0503 1283
#define SFXsfx0504 1284
#define SFXsfx0505 1285
#define SFXamb_x_steamsml_lp_00 1286
#define SFXsfx0507 1287
#define SFXsfx0508 1288
#define SFXsfx0509 1289
#define SFXamb_c_suitlose_lp_00 1290
#define SFXsfx050B 1291
#define SFXsfx050C 1292
#define SFXsfx050D 1293
#define SFXsfx050E 1294
#define SFXsfx050F 1295
#define SFXsfx0510 1296
#define SFXsfx0511 1297
#define SFXsfx0512 1298
#define SFXsfx0513 1299
#define SFXsfx0514 1300
#define SFXsfx0515 1301
#define SFXsfx0516 1302
#define SFXsfx0517 1303
#define SFXsfx0518 1304
#define SFXsfx0519 1305
#define SFXsfx051A 1306
#define SFXsfx051B 1307
#define SFXsfx051C 1308
#define SFXsfx051D 1309
#define SFXsfx051E 1310
#define SFXsfx051F 1311
#define SFXsfx0520 1312
#define SFXsfx0521 1313
#define SFXsfx0522 1314
#define SFXsfx0523 1315
#define SFXsfx0524 1316
#define SFXsfx0525 1317
#define SFXsfx0526 1318
#define SFXsfx0527 1319
#define SFXsfx0528 1320
#define SFXsfx0529 1321
#define SFXsfx052A 1322
#define SFXsfx052B 1323
#define SFXrid_c_elec_lp_00 1324
#define SFXsfx052D 1325
#define SFXsfx052E 1326
#define SFXsfx052F 1327
#define SFXsfx0530 1328
#define SFXsfx0531 1329
#define SFXsfx0532 1330
#define SFXsfx0533 1331
#define SFXsfx0534 1332
#define SFXsfx0535 1333
#define SFXsfx0536 1334
#define SFXsfx0537 1335
#define SFXsfx0538 1336
#define SFXsfx0539 1337
#define SFXsfx053A 1338
#define SFXsfx053B 1339
#define SFXsfx053C 1340
#define SFXsfx053D 1341
#define SFXsfx053E 1342
#define SFXsfx053F 1343
#define SFXsfx0540 1344
#define SFXsfx0541 1345
#define SFXsfx0542 1346
#define SFXsfx0543 1347
#define SFXsfx0544 1348
#define SFXsfx0545 1349
#define SFXsfx0546 1350
#define SFXsfx0547 1351
#define SFXsfx0548 1352
#define SFXsfx0549 1353
#define SFXsfx054A 1354
#define SFXsfx054B 1355
#define SFXsfx054C 1356
#define SFXsfx054D 1357
#define SFXsfx054E 1358
#define SFXsfx054F 1359
#define SFXsfx0550 1360
#define SFXsfx0551 1361
#define SFXsfx0552 1362
#define SFXsfx0553 1363
#define SFXsfx0554 1364
#define SFXsfx0555 1365
#define SFXsfx0556 1366
#define SFXsfx0557 1367
#define SFXsfx0558 1368
#define SFXsfx0559 1369
#define SFXsfx055A 1370
#define SFXsfx055B 1371
#define SFXsfx055C 1372
#define SFXsfx055D 1373
#define SFXsfx055E 1374

View File

@ -0,0 +1,268 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: MiscSamus
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPMiscSamus 41
#define SFXsam_wlkstone_00 1465
#define SFXsam_wlkstone_01 1466
#define SFXsam_suit_damage 1467
#define SFXsam_ball_jump 1468
#define SFXsam_b_highland_00 1469
#define SFXsam_b_jump_00 1470
#define SFXsam_firstjump 1471
#define SFXsam_landdirt_00 1472
#define SFXsfx05C1 1473
#define SFXsfx05C2 1474
#define SFXsam_ballland_stone 1475
#define SFXsam_ball_boost 1476
#define SFXsam_ball_charge_lp 1477
#define SFXsam_b_morphin_00 1478
#define SFXsam_b_morphout_00 1479
#define SFXsam_ballroll_dirt 1480
#define SFXsfx05C9 1481
#define SFXsfx05CA 1482
#define SFXsfx05CB 1483
#define SFXsam_wlkwater_00 1484
#define SFXsam_wlkwater_01 1485
#define SFXsam_damage_poison_lp 1486
#define SFXsfx05CF 1487
#define SFXsfx05D0 1488
#define SFXsam_vox_damage 1489
#define SFXsam_landmetl_00 1490
#define SFXsam_ball_damage 1491
#define SFXsam_b_movearm_00 1492
#define SFXsam_wlkgrate_00 1493
#define SFXsam_wlkgrate_01 1494
#define SFXsam_wlkmetal_00 1495
#define SFXsam_wlkmetal_01 1496
#define SFXsam_wlkdirt_00 1497
#define SFXsam_ballland_grate 1498
#define SFXsam_wlkdirt_01 1499
#define SFXsam_ballroll_grate 1500
#define SFXsam_ballroll_metal 1501
#define SFXsam_ballroll_stone 1502
#define SFXsfx05DF 1503
#define SFXsam_ballland_metal 1504
#define SFXsam_b_movearm_01 1505
#define SFXsfx05E2 1506
#define SFXsam_landgrate_00 1507
#define SFXsam_landstone_00 1508
#define SFXsfx05E5 1509
#define SFXsfx05E6 1510
#define SFXsam_vox_damage15 1511
#define SFXsam_vox_damage30 1512
#define SFXsam_ball_damage15 1513
#define SFXsam_ball_damage30 1514
#define SFXsfx05EB 1515
#define SFXsam_death 1516
#define SFXsfx05ED 1517
#define SFXsfx05EE 1518
#define SFXsam_b_landmetl_01 1519
#define SFXsfx05F0 1520
#define SFXsfx05F1 1521
#define SFXsfx05F2 1522
#define SFXsam_spider_lp 1523
#define SFXsfx05F4 1524
#define SFXsam_ball_wallhit 1525
#define SFXsam_grapple_fire 1526
#define SFXsam_grapple_lp 1527
#define SFXsam_grapple_swoosh 1528
#define SFXsam_wlkwood_00 1529
#define SFXsam_wlkwood_01 1530
#define SFXsam_landwood_00 1531
#define SFXsam_b_movefla_00 1532
#define SFXsam_ballland_wood 1533
#define SFXsam_ballroll_wood 1534
#define SFXsfx05FF 1535
#define SFXsfx0600 1536
#define SFXsfx0601 1537
#define SFXsfx0602 1538
#define SFXsfx0603 1539
#define SFXsfx0604 1540
#define SFXsam_b_jumpcine_00 1541
#define SFXsam_landphazon_00 1542
#define SFXsfx0607 1543
#define SFXsfx0608 1544
#define SFXsam_ballland_phazon 1545
#define SFXsfx060A 1546
#define SFXsam_ballroll_phazon 1547
#define SFXsam_b_voxland_00 1548
#define SFXsfx060D 1549
#define SFXsam_voxland_02 1550
#define SFXsfx060F 1551
#define SFXsfx0610 1552
#define SFXsam_wlkphazon_00 1553
#define SFXsam_wlkphazon_01 1554
#define SFXpds_b_water_03 1555
#define SFXsam_b_butpress_00 1556
#define SFXsam_b_butpress_01 1557
#define SFXsam_b_panlclos_00 1558
#define SFXsam_b_panlopen_00 1559
#define SFXsam_dash 1560
#define SFXsam_b_move_00 1561
#define SFXsam_b_move_01 1562
#define SFXsam_b_voxjump_00 1563
#define SFXsfx061C 1564
#define SFXsfx061D 1565
#define SFXsfx061E 1566
#define SFXsam_b_wlkmetal_02 1567
#define SFXsam_b_wlkmetal_03 1568
#define SFXsam_landgrass_00 1569
#define SFXsam_b_wlkgrass_00 1570
#define SFXsam_b_wlkgrass_01 1571
#define SFXsam_b_spin_lp_00 1572
#define SFXsam_b_landorg_00 1573
#define SFXsfx0626 1574
#define SFXsam_ballland_org 1575
#define SFXsam_ballroll_org 1576
#define SFXsam_b_wlkorg_00 1577
#define SFXsam_b_wlkorg_01 1578
#define SFXsam_landmud_00 1579
#define SFXsam_ballland_grass 1580
#define SFXsam_ballland_mud 1581
#define SFXsfx062E 1582
#define SFXsam_ballroll_grass 1583
#define SFXsam_ballroll_mud 1584
#define SFXsam_wlkmud_00 1585
#define SFXsam_wlkmud_01 1586
#define SFXsam_b_landcine_01 1587
#define SFXsfx0634 1588
#define SFXsfx0635 1589
#define SFXsfx0636 1590
#define SFXsam_vox_exhausted 1591
#define SFXsam_landsnow_00 1592
#define SFXsam_b_landsnow_01 1593
#define SFXsam_wlksnow_00 1594
#define SFXsam_wlksnow_01 1595
#define SFXsam_b_wlksnow_02 1596
#define SFXsam_b_wlksnow_03 1597
#define SFXsfx063E 1598
#define SFXsfx063F 1599
#define SFXsam_b_landcine_00 1600
#define SFXgab_b_wlksnow_00 1601
#define SFXgab_b_wlksnow_01 1602
#define SFXsfx0643 1603
#define SFXsam_r_hithelm_00 1604
#define SFXsfx0645 1605
#define SFXsfx0646 1606
#define SFXsam_landgrass_02 1607
#define SFXsam_landgrate_02 1608
#define SFXsfx0649 1609
#define SFXsfx064A 1610
#define SFXsam_b_landmetl_02 1611
#define SFXsam_landmud_02 1612
#define SFXsam_landorg_02 1613
#define SFXsam_landphazon_02 1614
#define SFXsam_landdirt_02 1615
#define SFXsam_landsnow_02 1616
#define SFXsam_landstone_02 1617
#define SFXsam_landwood_02 1618
#define SFXsam_wlkice_00 1619
#define SFXsam_wlkice_01 1620
#define SFXsfx0655 1621
#define SFXsfx0656 1622
#define SFXsam_b_landgras_01 1623
#define SFXsam_landice_00 1624
#define SFXsfx0659 1625
#define SFXsam_landice_02 1626
#define SFXsam_ballland_ice 1627
#define SFXsam_ballland_snow 1628
#define SFXpar_b_wlksnow_00 1629
#define SFXpar_b_wlksnow_01 1630
#define SFXsfx065F 1631
#define SFXsfx0660 1632
#define SFXsam_vox_damage_poison 1633
#define SFXsfx0662 1634
#define SFXsfx0663 1635
#define SFXsam_c_suithit_00 1636
#define SFXsam_c_suithit_01 1637
#define SFXsam_c_suithitv_00 1638
#define SFXsam_c_suitmov1_00 1639
#define SFXsam_r_phazhit_lp_00 1640
#define SFXsam_c_suitfall_00 1641
#define SFXsam_c_suitfall_01 1642
#define SFXsam_c_suitmov2_00 1643
#define SFXsam_c_suitmov2_01 1644
#define SFXsfx066D 1645
#define SFXsfx066E 1646
#define SFXfpr_b_land_00 1647
#define SFXfpr_b_land_01 1648
#define SFXsfx0671 1649
#define SFXspr_b_land_00 1650
#define SFXspr_b_land_01 1651
#define SFXsfx0674 1652
#define SFXsam_vox_damage_phazon 1653
#define SFXsfx0676 1654
#define SFXsfx0677 1655
#define SFXsam_vox_damage_heat 1656
#define SFXsfx0679 1657
#define SFXsfx067A 1658
#define SFXsfx067B 1659
#define SFXsam_b_wlkstone_02 1660
#define SFXsam_b_wlkstone_03 1661
#define SFXsam_b_wlkdirt_02 1662
#define SFXsam_b_wlkdirt_03 1663
#define SFXsam_b_move_02 1664
#define SFXsam_b_move_03 1665
#define SFXsfx0682 1666
#define SFXsam_c_mpwlkorg_00 1667
#define SFXsam_c_mpwlkorg_01 1668
#define SFXci7_x_spin_lp_00 1669
#define SFXsfx0686 1670
#define SFXsam_c_butpress_00 1671
#define SFXsam_c_butpress_01 1672
#define SFXsam_c_intrmove_02 1673
#define SFXsam_c_intrmove_03 1674
#define SFXsam_c_intrspin_lp_00 1675
#define SFXsam_c_iwlkmetal_02 1676
#define SFXsam_c_iwlkmetal_03 1677
#define SFXsam_c_movearm_00 1678
#define SFXsam_c_movearm_01 1679
#define SFXsam_c_moveend_00 1680
#define SFXsam_c_moveend_01 1681
#define SFXsam_c_spinend_lp_00 1682
#define SFXsfx0693 1683
#define SFXsam_landlavastone_00 1684
#define SFXsfx0695 1685
#define SFXsam_landlavastone_02 1686
#define SFXsam_ballland_lava 1687
#define SFXsam_ballroll_lavastone 1688
#define SFXsam_wlklavastone_00 1689
#define SFXsam_wlklavastone_01 1690
#define SFXsfx069B 1691
#define SFXsfx069C 1692
#define SFXsfx069D 1693
#define SFXsfx069E 1694
#define SFXsfx069F 1695
#define SFXsfx06A0 1696
#define SFXsfx06A1 1697
#define SFXsfx06A2 1698
#define SFXsfx06A3 1699
#define SFXsfx06A4 1700
#define SFXsfx06A5 1701
#define SFXsfx06A6 1702
#define SFXsfx06A7 1703
#define SFXsfx06A8 1704
#define SFXsfx06A9 1705
#define SFXsfx06AA 1706
#define SFXsfx06AB 1707
#define SFXsfx06AC 1708
#define SFXsfx06AD 1709
#define SFXsfx06AE 1710
#define SFXsfx06AF 1711
#define SFXsfx06B0 1712
#define SFXsfx06B1 1713
#define SFXsfx06B2 1714
#define SFXsfx06B3 1715
#define SFXsfx06B4 1716
#define SFXsfx06B5 1717
#define SFXsfx06B6 1718
#define SFXsfx06B7 1719
#define SFXsfx06B8 1720
#define SFXsfx06B9 1721
#define SFXsfx06BA 1722
#define SFXsfx06BB 1723

View File

@ -0,0 +1,69 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: OmegaPirate
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPOmegaPirate 57
#define SFXsfx0B0F 2831
#define SFXsfx0B10 2832
#define SFXopr_b_voxcall_00 2833
#define SFXopr_b_voxcall_01 2834
#define SFXopr_b_voxlaugh_00 2835
#define SFXopr_r_moan_00 2836
#define SFXsfx0B15 2837
#define SFXsfx0B16 2838
#define SFXopr_b_run_01 2839
#define SFXsfx0B18 2840
#define SFXopr_b_voxalert_00 2841
#define SFXopr_b_voxalert_01 2842
#define SFXopr_b_voxattak_00 2843
#define SFXopr_b_voxattak_01 2844
#define SFXopr_b_voxblok_00 2845
#define SFXopr_b_voxidle_00 2846
#define SFXopr_b_voxidle_01 2847
#define SFXopr_b_voxpiss_00 2848
#define SFXopr_b_voxtaunt_00 2849
#define SFXopr_b_walklite_00 2850
#define SFXopr_b_walklite_01 2851
#define SFXopr_b_walk_00 2852
#define SFXopr_b_walk_01 2853
#define SFXopr_b_healnrg_lp_00 2854
#define SFXsfx0B27 2855
#define SFXsfx0B28 2856
#define SFXsfx0B29 2857
#define SFXopr_r_pain_00 2858
#define SFXopr_r_pain_01 2859
#define SFXsfx0B2C 2860
#define SFXopr_b_invis_00 2861
#define SFXopr_b_voxready_00 2862
#define SFXsfx0B2F 2863
#define SFXsfx0B30 2864
#define SFXopr_r_pain_02 2865
#define SFXsfx0B32 2866
#define SFXopr_a_grenchrg_00 2867
#define SFXsfx0B34 2868
#define SFXopr_a_grenade_00 2869
#define SFXsfx0B36 2870
#define SFXsfx0B37 2871
#define SFXsfx0B38 2872
#define SFXsfx0B39 2873
#define SFXsfx0B3A 2874
#define SFXsfx0B3B 2875
#define SFXsfx0B3C 2876
#define SFXsfx0B3D 2877
#define SFXopr_r_death_01 2878
#define SFXsfx0B3F 2879
#define SFXopr_c_samswoosh_00 2880
#define SFXsfx0B41 2881
#define SFXsfx0B42 2882
#define SFXsfx0B43 2883
#define SFXsfx0B44 2884
#define SFXsfx0B45 2885
#define SFXsfx0B46 2886
#define SFXsfx0B47 2887
#define SFXsfx0B48 2888
#define SFXsfx0B49 2889
#define SFXsfx0B4A 2890

View File

@ -0,0 +1,81 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: OverWorld
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPOverWorld 51
#define SFXsfx09E0 2528
#define SFXsfx09E1 2529
#define SFXsfx09E2 2530
#define SFXsfx09E3 2531
#define SFXsfx09E4 2532
#define SFXsfx09E5 2533
#define SFXsfx09E6 2534
#define SFXsfx09E7 2535
#define SFXsfx09E8 2536
#define SFXsfx09E9 2537
#define SFXsfx09EA 2538
#define SFXsfx09EB 2539
#define SFXsfx09EC 2540
#define SFXsfx09ED 2541
#define SFXsfx09EE 2542
#define SFXsfx09EF 2543
#define SFXsfx09F0 2544
#define SFXsfx09F1 2545
#define SFXcrb_b_hiss_00 2546
#define SFXcrb_b_idle_00 2547
#define SFXsfx09F4 2548
#define SFXsfx09F5 2549
#define SFXsfx09F6 2550
#define SFXsfx09F7 2551
#define SFXsfx09F8 2552
#define SFXove_x_spinbars_lp 2553
#define SFXsfx09FA 2554
#define SFXsfx09FB 2555
#define SFXsfx09FC 2556
#define SFXsfx09FD 2557
#define SFXsfx09FE 2558
#define SFXsfx09FF 2559
#define SFXsfx0A00 2560
#define SFXsfx0A01 2561
#define SFXsfx0A02 2562
#define SFXsfx0A03 2563
#define SFXsfx0A04 2564
#define SFXsfx0A05 2565
#define SFXsfx0A06 2566
#define SFXsfx0A07 2567
#define SFXsfx0A08 2568
#define SFXsfx0A09 2569
#define SFXsfx0A0A 2570
#define SFXsfx0A0B 2571
#define SFXsfx0A0C 2572
#define SFXsfx0A0D 2573
#define SFXsfx0A0E 2574
#define SFXsfx0A0F 2575
#define SFXsfx0A10 2576
#define SFXsfx0A11 2577
#define SFXsfx0A12 2578
#define SFXsfx0A13 2579
#define SFXsfx0A14 2580
#define SFXlbm_c_beam_lp_01 2581
#define SFXsfx0A16 2582
#define SFXsfx0A17 2583
#define SFXsfx0A18 2584
#define SFXsfx0A19 2585
#define SFXsfx0A1A 2586
#define SFXsfx0A1B 2587
#define SFXsfx0A1C 2588
#define SFXsfx0A1D 2589
#define SFXsfx0A1E 2590
#define SFXsfx0A1F 2591
#define SFXsfx0A20 2592
#define SFXsfx0A21 2593
#define SFXsfx0A22 2594
#define SFXsfx0A23 2595
#define SFXsfx0A24 2596
#define SFXsfx0A25 2597
#define SFXsfx0A26 2598
#define SFXsfx0A27 2599

View File

@ -0,0 +1,33 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Parasite
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPParasite 22
#define SFXpar_a_voxangry_00 624
#define SFXsfx0271 625
#define SFXsfx0272 626
#define SFXsfx0273 627
#define SFXsfx0274 628
#define SFXpar_b_idle_02 629
#define SFXpar_b_munch_00 630
#define SFXsfx0277 631
#define SFXpar_b_run_00 632
#define SFXpar_b_run_01 633
#define SFXsfx027A 634
#define SFXpar_b_walk_00 635
#define SFXpar_b_walk_01 636
#define SFXsfx027D 637
#define SFXpar_b_idlelone_02 638
#define SFXpar_r_impact_00 639
#define SFXsfx0280 640
#define SFXsfx0281 641
#define SFXsfx0282 642
#define SFXsfx0283 643
#define SFXsfx0284 644
#define SFXsfx0285 645
#define SFXsfx0286 646
#define SFXsfx0287 647

View File

@ -0,0 +1,16 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Phazon
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPPhazon 66
#define SFXphz_damage_lp 3114
#define SFXsfx0C2B 3115
#define SFXsfx0C2C 3116
#define SFXsfx0C2D 3117
#define SFXsfx0C2E 3118
#define SFXsfx0C2F 3119
#define SFXsfx0C30 3120

View File

@ -0,0 +1,11 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: PhazonGun
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPPhazonGun 68
#define SFXphg_charge_lp 3141
#define SFXsfx0C46 3142

View File

@ -0,0 +1,36 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: PuddleSpore
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPPuddleSpore 23
#define SFXsfx0288 648
#define SFXpds_a_voxactive_00 649
#define SFXpds_b_bubbles_00 650
#define SFXpds_b_open_00 651
#define SFXpds_b_slam_00 652
#define SFXpds_b_voxopen_lp_00 653
#define SFXpds_b_voxslam_00 654
#define SFXpds_b_water_00 655
#define SFXpds_b_water_01 656
#define SFXpds_lava_damage_lp 657
#define SFXsfx0292 658
#define SFXpds_r_voxpain_02 659
#define SFXsfx0294 660
#define SFXsfx0295 661
#define SFXsfx0296 662
#define SFXsfx0297 663
#define SFXsfx0298 664
#define SFXsfx0299 665
#define SFXsfx029A 666
#define SFXsfx029B 667
#define SFXsfx029C 668
#define SFXsfx029D 669
#define SFXsfx029E 670
#define SFXsfx029F 671
#define SFXsfx02A0 672
#define SFXsfx02A1 673
#define SFXsfx02A2 674

View File

@ -0,0 +1,38 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: PuddleToad
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPPuddleToad 24
#define SFXpud_a_suckin_00 675
#define SFXpud_a_spitout_00 676
#define SFXsfx02A5 677
#define SFXpud_b_close_00 678
#define SFXpud_b_splat_00 679
#define SFXsfx02A8 680
#define SFXsfx02A9 681
#define SFXsfx02AA 682
#define SFXpud_b_voxclose_00 683
#define SFXpud_a_suckin_lp_01 684
#define SFXsfx02AD 685
#define SFXsfx02AE 686
#define SFXpud_b_growl_00 687
#define SFXpud_b_squish_lp_00 688
#define SFXsfx02B1 689
#define SFXsfx02B2 690
#define SFXsfx02B3 691
#define SFXsfx02B4 692
#define SFXsfx02B5 693
#define SFXsfx02B6 694
#define SFXsfx02B7 695
#define SFXsfx02B8 696
#define SFXsfx02B9 697
#define SFXsfx02BA 698
#define SFXsfx02BB 699
#define SFXsfx02BC 700
#define SFXsfx02BD 701
#define SFXsfx02BE 702
#define SFXsfx02BF 703

View File

@ -0,0 +1,16 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Puffer
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPPuffer 25
#define SFXpuf_b_fly_lp_00 704
#define SFXsfx02C1 705
#define SFXsfx02C2 706
#define SFXsfx02C3 707
#define SFXsfx02C4 708
#define SFXsfx02C5 709
#define SFXsfx02C6 710

View File

@ -0,0 +1,22 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: ReactorDoor
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPReactorDoor 49
#define SFXdor_x_close_01 2365
#define SFXdor_x_open_01 2366
#define SFXsfx093F 2367
#define SFXint_x_reacdoor_01 2368
#define SFXint_x_reacdoor_02 2369
#define SFXint_x_reacdoor_03 2370
#define SFXint_x_reacdoor_04 2371
#define SFXint_x_reacdoor_lp_00 2372
#define SFXsfx0945 2373
#define SFXsfx0946 2374
#define SFXsfx0947 2375
#define SFXsfx0948 2376
#define SFXsfx0949 2377

View File

@ -0,0 +1,69 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Ridley
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPRidley 56
#define SFXrid_a_flamerake_00 2771
#define SFXrid_a_flame_lp_00 2772
#define SFXsfx0AD5 2773
#define SFXrid_b_flap_00 2774
#define SFXrid_b_land_00 2775
#define SFXrid_b_passby_00 2776
#define SFXrid_b_popup_00 2777
#define SFXrid_b_voxangry_00 2778
#define SFXrid_b_voxangry_01 2779
#define SFXrid_b_voxattack_00 2780
#define SFXrid_b_voxattack_01 2781
#define SFXrid_b_voxidle_00 2782
#define SFXsfx0ADF 2783
#define SFXrid_b_voxtaunt_00 2784
#define SFXrid_b_voxtaunt_01 2785
#define SFXrid_b_walk_00 2786
#define SFXrid_b_walk_01 2787
#define SFXsfx0AE4 2788
#define SFXrid_b_walksm_00 2789
#define SFXrid_b_walksm_01 2790
#define SFXrid_r_chestexp_00 2791
#define SFXrid_r_death_00 2792
#define SFXrid_r_painbig_00 2793
#define SFXrid_r_pain_00 2794
#define SFXsfx0AEB 2795
#define SFXrid_a_chestglo_00 2796
#define SFXrid_a_claw_00 2797
#define SFXsfx0AEE 2798
#define SFXrid_a_mirv_00 2799
#define SFXsfx0AF0 2800
#define SFXrid_a_tail_00 2801
#define SFXsfx0AF2 2802
#define SFXsfx0AF3 2803
#define SFXsfx0AF4 2804
#define SFXrid_r_pain_lp_00 2805
#define SFXsfx0AF6 2806
#define SFXsfx0AF7 2807
#define SFXsfx0AF8 2808
#define SFXrid_c_smallexp_00 2809
#define SFXrid_c_painbig_00 2810
#define SFXsfx0AFB 2811
#define SFXsfx0AFC 2812
#define SFXsfx0AFD 2813
#define SFXsfx0AFE 2814
#define SFXsfx0AFF 2815
#define SFXsfx0B00 2816
#define SFXsfx0B01 2817
#define SFXsfx0B02 2818
#define SFXsfx0B03 2819
#define SFXsfx0B04 2820
#define SFXsfx0B05 2821
#define SFXsfx0B06 2822
#define SFXsfx0B07 2823
#define SFXsfx0B08 2824
#define SFXsfx0B09 2825
#define SFXsfx0B0A 2826
#define SFXsfx0B0B 2827
#define SFXsfx0B0C 2828
#define SFXsfx0B0D 2829
#define SFXsfx0B0E 2830

View File

@ -0,0 +1,19 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Ripper
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPRipper 26
#define SFXrip_b_float_lp_00 711
#define SFXrip_b_scream_00 712
#define SFXsfx02C9 713
#define SFXsfx02CA 714
#define SFXrip_r_impact_00 715
#define SFXsfx02CC 716
#define SFXsfx02CD 717
#define SFXsfx02CE 718
#define SFXsfx02CF 719
#define SFXsfx02D0 720

View File

@ -0,0 +1,159 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: RuinsWorld
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPRuinsWorld 50
#define SFXsfx094A 2378
#define SFXsfx094B 2379
#define SFXsfx094C 2380
#define SFXsfx094D 2381
#define SFXeye_b_blink_00 2382
#define SFXeye_b_impact_00 2383
#define SFXsfx0950 2384
#define SFXsfx0951 2385
#define SFXsfx0952 2386
#define SFXsfx0953 2387
#define SFXsfx0954 2388
#define SFXsfx0955 2389
#define SFXsfx0956 2390
#define SFXsfx0957 2391
#define SFXsfx0958 2392
#define SFXsfx0959 2393
#define SFXsfx095A 2394
#define SFXrui_x_leaves_00 2395
#define SFXsfx095C 2396
#define SFXsfx095D 2397
#define SFXsfx095E 2398
#define SFXsfx095F 2399
#define SFXsfx0960 2400
#define SFXmac_x_stop_00 2401
#define SFXsfx0962 2402
#define SFXsfx0963 2403
#define SFXsfx0964 2404
#define SFXsfx0965 2405
#define SFXsfx0966 2406
#define SFXsfx0967 2407
#define SFXsfx0968 2408
#define SFXsfx0969 2409
#define SFXsfx096A 2410
#define SFXsfx096B 2411
#define SFXsfx096C 2412
#define SFXsfx096D 2413
#define SFXsfx096E 2414
#define SFXsfx096F 2415
#define SFXenc_x_genmove_lp_00 2416
#define SFXsfx0971 2417
#define SFXsfx0972 2418
#define SFXsfx0973 2419
#define SFXsfx0974 2420
#define SFXhiv_x_fall_lp_00 2421
#define SFXsfx0976 2422
#define SFXsfx0977 2423
#define SFXhiv_x_open_00 2424
#define SFXsfx0979 2425
#define SFXhiv_x_rotate_00 2426
#define SFXhiv_x_stop_00 2427
#define SFXsfx097C 2428
#define SFXsfx097D 2429
#define SFXrui_x_mapmove_lp_01 2430
#define SFXsfx097F 2431
#define SFXsfx0980 2432
#define SFXsfx0981 2433
#define SFXsfx0982 2434
#define SFXsfx0983 2435
#define SFXhiv_x_closered_lp_00 2436
#define SFXhiv_x_openred_lp_00 2437
#define SFXsfx0986 2438
#define SFXsfx0987 2439
#define SFXchz_b_balldrop_00 2440
#define SFXchz_b_balldrop_01 2441
#define SFXchz_b_release_00 2442
#define SFXchz_x_down_lp_00 2443
#define SFXsfx098C 2444
#define SFXsfx098D 2445
#define SFXsfx098E 2446
#define SFXsfx098F 2447
#define SFXsfx0990 2448
#define SFXsfx0991 2449
#define SFXsfx0992 2450
#define SFXsfx0993 2451
#define SFXsfx0994 2452
#define SFXsfx0995 2453
#define SFXsfx0996 2454
#define SFXsfx0997 2455
#define SFXsfx0998 2456
#define SFXrui_x_mirstop_00 2457
#define SFXsfx099A 2458
#define SFXrui_x_slotstop_00 2459
#define SFXfla_b_bulbopen_00 2460
#define SFXsfx099D 2461
#define SFXsfx099E 2462
#define SFXsfx099F 2463
#define SFXsfx09A0 2464
#define SFXsfx09A1 2465
#define SFXsfx09A2 2466
#define SFXsfx09A3 2467
#define SFXsfx09A4 2468
#define SFXrui_x_flamarmr_00 2469
#define SFXrui_x_flamarmr_01 2470
#define SFXrui_x_flamarm_00 2471
#define SFXrui_x_flamarm_01 2472
#define SFXrui_x_flamarm_02 2473
#define SFXrui_x_flamrise_00 2474
#define SFXrui_x_flamrise_lp_00 2475
#define SFXrui_x_flamhead_00 2476
#define SFXrui_x_flamhead_lp_00 2477
#define SFXrui_x_flamhead_lp_01 2478
#define SFXsfx09AF 2479
#define SFXsfx09B0 2480
#define SFXsfx09B1 2481
#define SFXsfx09B2 2482
#define SFXsfx09B3 2483
#define SFXsfx09B4 2484
#define SFXsfx09B5 2485
#define SFXsfx09B6 2486
#define SFXsfx09B7 2487
#define SFXsfx09B8 2488
#define SFXrui_x_mapmove_lp_00 2489
#define SFXsfx09BA 2490
#define SFXrui_x_maparm_00 2491
#define SFXrui_x_mapcover_00 2492
#define SFXsfx09BD 2493
#define SFXsfx09BE 2494
#define SFXsfx09BF 2495
#define SFXsfx09C0 2496
#define SFXsfx09C1 2497
#define SFXsfx09C2 2498
#define SFXsfx09C3 2499
#define SFXsfx09C4 2500
#define SFXmac_x_changed_00 2501
#define SFXsfx09C6 2502
#define SFXrui_x_mapstop_00 2503
#define SFXsfx09C8 2504
#define SFXrui_x_gatedown_lp_00 2505
#define SFXsfx09CA 2506
#define SFXrui_x_gatestop_00 2507
#define SFXrui_x_gateturn_lp_00 2508
#define SFXsfx09CD 2509
#define SFXrui_x_halftrk_00 2510
#define SFXrui_x_halftrk_lp_00 2511
#define SFXsfx09D0 2512
#define SFXsfx09D1 2513
#define SFXsfx09D2 2514
#define SFXsfx09D3 2515
#define SFXdob_x_moveup_lp_00 2516
#define SFXsfx09D5 2517
#define SFXsfx09D6 2518
#define SFXsfx09D7 2519
#define SFXsfx09D8 2520
#define SFXsfx09D9 2521
#define SFXsfx09DA 2522
#define SFXsfx09DB 2523
#define SFXsfx09DC 2524
#define SFXsfx09DD 2525
#define SFXsfx09DE 2526
#define SFXsfx09DF 2527

77
Runtime/Audio/SFX/SFX.h Normal file
View File

@ -0,0 +1,77 @@
#ifndef DNAMP1_SFX_H
#define DNAMP1_SFX_H
#include "Atomic.h"
#include "BetaBeetle.h"
#include "Bird.h"
#include "BloodFlower.h"
#include "Burrower.h"
#include "ChozoGhost.h"
#include "ChubbWeed.h"
#include "CineBoots.h"
#include "CineGeneral.h"
#include "CineGun.h"
#include "CineMorphball.h"
#include "CineSuit.h"
#include "CineVisor.h"
#include "Crater.h"
#include "Crystallite.h"
#include "Drones.h"
#include "EliteSpacePirate.h"
#include "FireFlea.h"
#include "Flaaghra.h"
#include "FlickerBat.h"
#include "FlyingPirate.h"
#include "FrontEnd.h"
#include "GagantuanBeatle.h"
#include "Gnats.h"
#include "Gryzbee.h"
#include "IceCrack.h"
#include "IceWorld.h"
#include "InjuredPirates.h"
#include "IntroBoss.h"
#include "IntroWorld.h"
#include "JellyZap.h"
#include "LavaWorld.h"
#include "Magdolite.h"
#include "Metaree.h"
#include "MetroidPrime.h"
#include "Metroid.h"
#include "MinesWorld.h"
#include "MiscSamus.h"
#include "Misc.h"
#include "OmegaPirate.h"
#include "OverWorld.h"
#include "Parasite.h"
#include "PhazonGun.h"
#include "Phazon.h"
#include "PuddleSpore.h"
#include "PuddleToad.h"
#include "Puffer.h"
#include "ReactorDoor.h"
#include "Ridley.h"
#include "Ripper.h"
#include "RuinsWorld.h"
#include "SFX.h"
#include "SamusShip.h"
#include "Scarab.h"
#include "Seedling.h"
#include "SheeGoth.h"
#include "SnakeWeed.h"
#include "Sova.h"
#include "SpacePirate.h"
#include "SpankWeed.h"
#include "Thardus.h"
#include "TheEnd.h"
#include "Torobyte.h"
#include "Triclops.h"
#include "Turret.h"
#include "UI.h"
#include "WarWasp.h"
#include "Weapons.h"
#include "ZZZ.h"
#include "Zoomer.h"
#include "lumigek.h"
#include "test.h"
#endif // DNAMP1_SFX_H

View File

@ -0,0 +1,41 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: SamusShip
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPSamusShip 42
#define SFXsas_x_dooropen_00 1724
#define SFXsas_x_dooropen_01 1725
#define SFXsas_x_dooropen_02 1726
#define SFXsas_x_dooropen_03 1727
#define SFXsas_x_dooropen_04 1728
#define SFXsas_x_dooropen_05 1729
#define SFXsfx06C2 1730
#define SFXsas_x_platrise_lp_01 1731
#define SFXsas_x_thrusmov_00 1732
#define SFXsfx06C5 1733
#define SFXsas_x_thrusmov_02 1734
#define SFXsas_x_thrusmov_03 1735
#define SFXsas_x_hover_lp_00 1736
#define SFXsas_x_thrusfir_lp_01 1737
#define SFXsas_x_hover_lp_01 1738
#define SFXsfx06CB 1739
#define SFXsas_x_thrusfir_lp_04 1740
#define SFXsfx06CD 1741
#define SFXsfx06CE 1742
#define SFXsfx06CF 1743
#define SFXsfx06D0 1744
#define SFXsfx06D1 1745
#define SFXsfx06D2 1746
#define SFXsfx06D3 1747
#define SFXsfx06D4 1748
#define SFXsfx06D5 1749
#define SFXsfx06D6 1750
#define SFXsfx06D7 1751
#define SFXsfx06D8 1752
#define SFXsfx06D9 1753
#define SFXsfx06DA 1754
#define SFXsfx06DB 1755

View File

@ -0,0 +1,17 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Scarab
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPScarab 27
#define SFXsfx02D1 721
#define SFXsfx02D2 722
#define SFXsfx02D3 723
#define SFXsfx02D4 724
#define SFXsfx02D5 725
#define SFXsfx02D6 726
#define SFXsfx02D7 727
#define SFXsfx02D8 728

View File

@ -0,0 +1,29 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Seedling
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPSeedling 28
#define SFXsed_a_spine_00 729
#define SFXsed_b_idle_lp_00 730
#define SFXsfx02DB 731
#define SFXsfx02DC 732
#define SFXsed_b_alert_00 733
#define SFXsfx02DE 734
#define SFXsfx02DF 735
#define SFXsfx02E0 736
#define SFXsfx02E1 737
#define SFXsfx02E2 738
#define SFXsfx02E3 739
#define SFXsfx02E4 740
#define SFXsfx02E5 741
#define SFXsfx02E6 742
#define SFXsfx02E7 743
#define SFXsfx02E8 744
#define SFXsfx02E9 745
#define SFXsfx02EA 746
#define SFXsfx02EB 747
#define SFXsfx02EC 748

View File

@ -0,0 +1,66 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: SheeGoth
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPSheeGoth 29
#define SFXshe_a_fireball_00 749
#define SFXshe_b_shake_lp_00 750
#define SFXsfx02EF 751
#define SFXshe_a_flame_lp_00 752
#define SFXshe_a_snap_00 753
#define SFXshe_a_snap_01 754
#define SFXshe_a_stomp_00 755
#define SFXshe_a_stomp_01 756
#define SFXshe_a_voxangry_00 757
#define SFXshe_a_voxangry_01 758
#define SFXshe_a_voxangry_03 759
#define SFXshe_a_voxangry_04 760
#define SFXsh2_a_voxangry_00 761
#define SFXsfx02FA 762
#define SFXsfx02FB 763
#define SFXshe_b_idle_02 764
#define SFXsh2_a_voxangry_01 765
#define SFXshe_b_land_00 766
#define SFXsh2_a_flame_lp_00 767
#define SFXshe_b_roar_00 768
#define SFXsh2_a_snap_00 769
#define SFXsh2_a_voxangry_03 770
#define SFXsh2_a_snap_01 771
#define SFXshe_b_walk_00 772
#define SFXshe_b_walk_01 773
#define SFXshe_r_death_00 774
#define SFXshe_r_death_01 775
#define SFXshe_r_pain_00 776
#define SFXsfx0309 777
#define SFXsh2_a_voxangry_04 778
#define SFXsfx030B 779
#define SFXsfx030C 780
#define SFXsh2_b_idle_02 781
#define SFXsh2_b_land_00 782
#define SFXsh2_b_roar_00 783
#define SFXsh2_b_shake_lp_00 784
#define SFXsh2_b_walk_00 785
#define SFXsh2_b_walk_01 786
#define SFXsh2_r_death_00 787
#define SFXsh2_r_death_01 788
#define SFXsh2_r_pain_00 789
#define SFXsfx0316 790
#define SFXsfx0317 791
#define SFXsh2_b_run_00 792
#define SFXsh2_b_run_01 793
#define SFXsfx031A 794
#define SFXsfx031B 795
#define SFXsfx031C 796
#define SFXsfx031D 797
#define SFXsfx031E 798
#define SFXsfx031F 799
#define SFXsfx0320 800
#define SFXsfx0321 801
#define SFXsfx0322 802
#define SFXsfx0323 803
#define SFXsfx0324 804
#define SFXsfx0325 805

View File

@ -0,0 +1,15 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: SnakeWeed
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPSnakeWeed 30
#define SFXsfx0326 806
#define SFXsnk_b_in_00 807
#define SFXsnk_b_out_00 808
#define SFXsfx0329 809
#define SFXsfx032A 810
#define SFXsfx032B 811

28
Runtime/Audio/SFX/Sova.h Normal file
View File

@ -0,0 +1,28 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Sova
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPSova 31
#define SFXfpr_b_walk_00 812
#define SFXfpr_b_walk_01 813
#define SFXspr_a_gun_00 814
#define SFXsfx032F 815
#define SFXsfx0330 816
#define SFXspr_b_walk_00 817
#define SFXspr_b_walk_01 818
#define SFXspr_b_walk_02 819
#define SFXspr_b_walk_03 820
#define SFXsfx0335 821
#define SFXsfx0336 822
#define SFXsfx0337 823
#define SFXsfx0338 824
#define SFXsfx0339 825
#define SFXsfx033A 826
#define SFXsfx033B 827
#define SFXsfx033C 828
#define SFXsfx033D 829
#define SFXsfx033E 830

View File

@ -0,0 +1,93 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: SpacePirate
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPSpacePirate 32
#define SFXsfx033F 831
#define SFXepr_b_swordin_00 832
#define SFXepr_b_swordout_00 833
#define SFXopr_c_movement_00 834
#define SFXsfx0343 835
#define SFXsfx0344 836
#define SFXsfx0345 837
#define SFXsfx0346 838
#define SFXsfx0347 839
#define SFXspr_b_movement_00 840
#define SFXspr_b_movement_01 841
#define SFXsfx034A 842
#define SFXsfx034B 843
#define SFXsfx034C 844
#define SFXsfx034D 845
#define SFXspr_b_voxalert_01 846
#define SFXsfx034F 847
#define SFXsfx0350 848
#define SFXsfx0351 849
#define SFXsfx0352 850
#define SFXsfx0353 851
#define SFXsfx0354 852
#define SFXsfx0355 853
#define SFXsfx0356 854
#define SFXspr_r_impact_02 855
#define SFXopr_b_swordin_00 856
#define SFXsfx0359 857
#define SFXsfx035A 858
#define SFXsfx035B 859
#define SFXspr_b_idle_02 860
#define SFXspr_b_intruder_00 861
#define SFXsfx035E 862
#define SFXsfx035F 863
#define SFXsfx0360 864
#define SFXsfx0361 865
#define SFXopr_b_swordout_00 866
#define SFXspr_r_himpact_00 867
#define SFXsfx0364 868
#define SFXspr_b_jump_00 869
#define SFXsfx0366 870
#define SFXsfx0367 871
#define SFXsfx0368 872
#define SFXspr_b_voxangry_02 873
#define SFXsfx036A 874
#define SFXsfx036B 875
#define SFXsfx036C 876
#define SFXsfx036D 877
#define SFXsfx036E 878
#define SFXsfx036F 879
#define SFXsfx0370 880
#define SFXsfx0371 881
#define SFXsfx0372 882
#define SFXsfx0373 883
#define SFXepr_b_movement_00 884
#define SFXepr_b_movement_01 885
#define SFXsfx0376 886
#define SFXsfx0377 887
#define SFXsfx0378 888
#define SFXsfx0379 889
#define SFXsfx037A 890
#define SFXsfx037B 891
#define SFXepr_r_die_00 892
#define SFXsfx037D 893
#define SFXepr_r_pain_00 894
#define SFXsfx037F 895
#define SFXsfx0380 896
#define SFXsfx0381 897
#define SFXsfx0382 898
#define SFXsfx0383 899
#define SFXsfx0384 900
#define SFXsfx0385 901
#define SFXsfx0386 902
#define SFXsfx0387 903
#define SFXsfx0388 904
#define SFXsfx0389 905
#define SFXsfx038A 906
#define SFXsfx038B 907
#define SFXsfx038C 908
#define SFXsfx038D 909
#define SFXsfx038E 910
#define SFXsfx038F 911
#define SFXsfx0390 912
#define SFXsfx0391 913
#define SFXsfx0392 914

View File

@ -0,0 +1,54 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: SpankWeed
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPSpankWeed 33
#define SFXspw_a_spank_00 915
#define SFXsfx0394 916
#define SFXspw_b_out_00 917
#define SFXspw_b_swish_02 918
#define SFXspw_b_swoosh_00 919
#define SFXsfx0398 920
#define SFXspw_r_impact_00 921
#define SFXsfx039A 922
#define SFXfla_a_tentatak_00 923
#define SFXsfx039C 924
#define SFXsfx039D 925
#define SFXsfx039E 926
#define SFXsfx039F 927
#define SFXsfx03A0 928
#define SFXsfx03A1 929
#define SFXsfx03A2 930
#define SFXfla_b_tentmove_01 931
#define SFXfla_b_tentslid_00 932
#define SFXfla_b_tentslid_01 933
#define SFXsfx03A6 934
#define SFXsfx03A7 935
#define SFXsfx03A8 936
#define SFXsfx03A9 937
#define SFXsfx03AA 938
#define SFXsfx03AB 939
#define SFXsfx03AC 940
#define SFXsfx03AD 941
#define SFXsfx03AE 942
#define SFXsfx03AF 943
#define SFXsfx03B0 944
#define SFXsfx03B1 945
#define SFXsfx03B2 946
#define SFXsfx03B3 947
#define SFXsfx03B4 948
#define SFXsfx03B5 949
#define SFXsfx03B6 950
#define SFXsfx03B7 951
#define SFXsfx03B8 952
#define SFXsfx03B9 953
#define SFXsfx03BA 954
#define SFXsfx03BB 955
#define SFXsfx03BC 956
#define SFXsfx03BD 957
#define SFXsfx03BE 958
#define SFXsfx03BF 959

View File

@ -0,0 +1,77 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Thardus
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPThardus 55
#define SFXtha_b_voxangry_02 2703
#define SFXtha_b_move_00 2704
#define SFXsfx0A91 2705
#define SFXtha_b_rocks_00 2706
#define SFXtha_a_stoneup_lp_00 2707
#define SFXtha_a_swoosh_00 2708
#define SFXsfx0A95 2709
#define SFXtha_a_voxattak_00 2710
#define SFXtha_a_voxattak_01 2711
#define SFXtha_b_henshin_lp_00 2712
#define SFXtha_b_hitgrnd_00 2713
#define SFXtha_b_hitgrnd_01 2714
#define SFXtha_b_hitgrnd_02 2715
#define SFXtha_b_charge_00 2716
#define SFXtha_a_thunder_00 2717
#define SFXtha_b_rocks_lp_00 2718
#define SFXsfx0A9F 2719
#define SFXtha_b_roll_lp_00 2720
#define SFXsfx0AA1 2721
#define SFXtha_b_voxangry_00 2722
#define SFXtha_b_voxangry_01 2723
#define SFXtha_b_walk_00 2724
#define SFXtha_b_walk_01 2725
#define SFXsfx0AA6 2726
#define SFXtha_r_pain_00 2727
#define SFXtha_b_boulder_00 2728
#define SFXtha_b_boulder_01 2729
#define SFXsfx0AAA 2730
#define SFXtha_b_henshin_00 2731
#define SFXtha_b_henshin_01 2732
#define SFXsfx0AAD 2733
#define SFXtha_a_icewave_lp_00 2734
#define SFXtha_b_chant_00 2735
#define SFXtha_b_enraged_00 2736
#define SFXtha_b_charge_01 2737
#define SFXtha_b_charge_02 2738
#define SFXtha_b_walk_02 2739
#define SFXtha_b_walk_03 2740
#define SFXtha_a_thunder_01 2741
#define SFXsfx0AB6 2742
#define SFXsfx0AB7 2743
#define SFXsfx0AB8 2744
#define SFXtha_a_icestorm_lp_02 2745
#define SFXsfx0ABA 2746
#define SFXsfx0ABB 2747
#define SFXsfx0ABC 2748
#define SFXtha_b_idle_00 2749
#define SFXsfx0ABE 2750
#define SFXsfx0ABF 2751
#define SFXsfx0AC0 2752
#define SFXtha_b_charge_03 2753
#define SFXtha_r_smpain_00 2754
#define SFXsfx0AC3 2755
#define SFXtha_r_pissed_00 2756
#define SFXsfx0AC5 2757
#define SFXsfx0AC6 2758
#define SFXsfx0AC7 2759
#define SFXsfx0AC8 2760
#define SFXsfx0AC9 2761
#define SFXsfx0ACA 2762
#define SFXsfx0ACB 2763
#define SFXsfx0ACC 2764
#define SFXsfx0ACD 2765
#define SFXsfx0ACE 2766
#define SFXsfx0ACF 2767
#define SFXsfx0AD0 2768
#define SFXsfx0AD1 2769
#define SFXsfx0AD2 2770

View File

@ -0,0 +1,27 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: TheEnd
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPTheEnd 70
#define SFXsfx0C4D 3149
#define SFXsh2_a_fireball_lp_00 3150
#define SFXshe_a_fireball_lp_00 3151
#define SFXend_c_shipthst_00 3152
#define SFXsfx0C51 3153
#define SFXsfx0C52 3154
#define SFXsfx0C53 3155
#define SFXsfx0C54 3156
#define SFXsfx0C55 3157
#define SFXsfx0C56 3158
#define SFXsfx0C57 3159
#define SFXsfx0C58 3160
#define SFXsfx0C59 3161
#define SFXsfx0C5A 3162
#define SFXsfx0C5B 3163
#define SFXsfx0C5C 3164
#define SFXsfx0C5D 3165
#define SFXsfx0C5E 3166

View File

@ -0,0 +1,28 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Torobyte
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPToroByte 35
#define SFXocu_b_idle_00 981
#define SFXsfx03D6 982
#define SFXocu_b_blink_00 983
#define SFXsfx03D8 984
#define SFXbat_r_voxdeath_00 985
#define SFXsfx03DA 986
#define SFXsfx03DB 987
#define SFXsfx03DC 988
#define SFXsfx03DD 989
#define SFXsfx03DE 990
#define SFXsfx03DF 991
#define SFXsfx03E0 992
#define SFXsfx03E1 993
#define SFXsfx03E2 994
#define SFXsfx03E3 995
#define SFXsfx03E4 996
#define SFXsfx03E5 997
#define SFXsfx03E6 998
#define SFXsfx03E7 999

View File

@ -0,0 +1,30 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Triclops
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPTriclops 34
#define SFXtri_a_attack_00 960
#define SFXtri_a_attract_00 961
#define SFXtri_b_idle_00 962
#define SFXsfx03C3 963
#define SFXtri_b_walk_00 964
#define SFXsfx03C5 965
#define SFXsfx03C6 966
#define SFXtri_r_impact_00 967
#define SFXtri_r_impact_01 968
#define SFXtri_b_run_00 969
#define SFXsfx03CA 970
#define SFXsfx03CB 971
#define SFXsfx03CC 972
#define SFXsfx03CD 973
#define SFXsfx03CE 974
#define SFXsfx03CF 975
#define SFXsfx03D0 976
#define SFXsfx03D1 977
#define SFXsfx03D2 978
#define SFXsfx03D3 979
#define SFXsfx03D4 980

View File

@ -0,0 +1,36 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Turret
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPTurret 36
#define SFXsfx03E8 1000
#define SFXtur_a_laser_00 1001
#define SFXsfx03EA 1002
#define SFXsfx03EB 1003
#define SFXsfx03EC 1004
#define SFXsfx03ED 1005
#define SFXsfx03EE 1006
#define SFXsfx03EF 1007
#define SFXtur_b_lower_00 1008
#define SFXsfx03F1 1009
#define SFXsfx03F2 1010
#define SFXtur_b_raise_lp_00 1011
#define SFXtur_b_stop_00 1012
#define SFXsfx03F5 1013
#define SFXtur_b_sweep_lp_00 1014
#define SFXsfx03F7 1015
#define SFXsfx03F8 1016
#define SFXsfx03F9 1017
#define SFXsfx03FA 1018
#define SFXtur_r_powrdown_lp_00 1019
#define SFXsfx03FC 1020
#define SFXsfx03FD 1021
#define SFXsfx03FE 1022
#define SFXsfx03FF 1023
#define SFXsfx0400 1024
#define SFXsfx0401 1025
#define SFXsfx0402 1026

99
Runtime/Audio/SFX/UI.h Normal file
View File

@ -0,0 +1,99 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: UI
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPUI 40
#define SFXui_map_rotate 1375
#define SFXui_map_zoom 1376
#define SFXui_lockon_poi 1377
#define SFXui_into_map_screen 1378
#define SFXsfx0563 1379
#define SFXui_outof_map_screen 1380
#define SFXsfx0565 1381
#define SFXui_outof_visor 1382
#define SFXui_into_visor 1383
#define SFXui_visor_xray_lp 1384
#define SFXui_damage_lp 1385
#define SFXui_show_local_beacon 1386
#define SFXui_show_remote_beacon 1387
#define SFXui_visor_thermal_lp 1388
#define SFXsfx056D 1389
#define SFXui_outof_freelook 1390
#define SFXsfx056F 1391
#define SFXui_into_freelook 1392
#define SFXui_lockon_grapple 1393
#define SFXui_freelook_move_lp 1394
#define SFXui_select_visor 1395
#define SFXui_threat_warning 1396
#define SFXui_missile_warning 1397
#define SFXui_select_beam 1398
#define SFXui_threat_damage 1399
#define SFXui_hud_shutdown 1400
#define SFXui_hud_reboot 1401
#define SFXui_static_hi 1402
#define SFXui_static_lo 1403
#define SFXui_visor_scan_lp 1404
#define SFXui_energy_low 1405
#define SFXui_map_pan 1406
#define SFXui_scanning_lp 1407
#define SFXsfx0580 1408
#define SFXui_outof_scan_window 1409
#define SFXsfx0582 1410
#define SFXui_into_scan_window 1411
#define SFXsfx0584 1412
#define SFXsfx0585 1413
#define SFXui_scan_pane_reveal 1414
#define SFXui_into_hud_message 1415
#define SFXui_outof_hud_message 1416
#define SFXui_scan_complete 1417
#define SFXui_hud_memo_type 1418
#define SFXsfx058B 1419
#define SFXsfx058C 1420
#define SFXui_message_screen_key 1421
#define SFXui_options_quit_accept 1422
#define SFXui_options_quit_reject 1423
#define SFXui_quit_change 1424
#define SFXui_new_scan_complete 1425
#define SFXui_map_to_universe 1426
#define SFXui_map_from_universe 1427
#define SFXsfx0594 1428
#define SFXsfx0595 1429
#define SFXsfx0596 1430
#define SFXui_table_change_mode 1431
#define SFXui_advance 1432
#define SFXui_pause_screen_change 1433
#define SFXui_pause_screen_exit 1434
#define SFXui_pause_screen_enter 1435
#define SFXui_table_selection_change 1436
#define SFXui_option_enum_change 1437
#define SFXsfx059E 1438
#define SFXui_scan_next_page 1439
#define SFXui_samus_doll_enter 1440
#define SFXui_samus_doll_exit 1441
#define SFXui_hud_memo_a_pulse 1442
#define SFXui_show_hint_memo 1443
#define SFXui_pause_screen_next_page 1444
#define SFXsfx05A5 1445
#define SFXui_map_screen_key2 1446
#define SFXsfx05A7 1447
#define SFXsfx05A8 1448
#define SFXui_hide_hint_memo 1449
#define SFXsfx05AA 1450
#define SFXui_options_slider_change_lp 1451
#define SFXui_map_screen_key1 1452
#define SFXui_map_screen_key0 1453
#define SFXsfx05AE 1454
#define SFXsfx05AF 1455
#define SFXsfx05B0 1456
#define SFXsfx05B1 1457
#define SFXui_frontend_options_slider_change_lp 1458
#define SFXui_frontend_save_back 1459
#define SFXui_frontend_save_confirm 1460
#define SFXui_frontend_save_move 1461
#define SFXsfx05B6 1462
#define SFXsfx05B7 1463
#define SFXsfx05B8 1464

View File

@ -0,0 +1,72 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: WarWasp
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPWarWasp 37
#define SFXwar_b_idle_lp_00 1027
#define SFXwa2_a_stinger_00 1028
#define SFXwa2_b_idle_lp_00 1029
#define SFXwa2_r_diescream_00 1030
#define SFXwa2_r_hitlight_00 1031
#define SFXwa2_r_wingbuzz_00 1032
#define SFXwar_r_diescream_00 1033
#define SFXwar_r_diescream_01 1034
#define SFXwar_r_diescream_02 1035
#define SFXwar_r_diescream_03 1036
#define SFXwar_r_hitdirt_00 1037
#define SFXwar_r_hitdirt_01 1038
#define SFXwar_r_hitlight_00 1039
#define SFXwar_r_hitlight_01 1040
#define SFXwar_r_wingbuzz_00 1041
#define SFXwar_r_wingbuzz_01 1042
#define SFXwar_r_wingbuzz_02 1043
#define SFXwar_r_wingbuzz_03 1044
#define SFXsfx0415 1045
#define SFXwa2_r_wingbuzz_01 1046
#define SFXwar_a_stab_00 1047
#define SFXwar_b_noise_00 1048
#define SFXwar_b_noise_01 1049
#define SFXwa3_a_stab_00 1050
#define SFXwa3_a_stab_01 1051
#define SFXwa2_b_noise_00 1052
#define SFXwa2_b_noise_01 1053
#define SFXwar_a_stab_01 1054
#define SFXwar_a_stinger_00 1055
#define SFXwar_r_wingbuzz_04 1056
#define SFXsfx0421 1057
#define SFXsfx0422 1058
#define SFXwa2_b_agitated_lp_00 1059
#define SFXsfx0424 1060
#define SFXwa2_b_noise_02 1061
#define SFXwar_b_agitated_lp_00 1062
#define SFXwa3_a_voxattak_00 1063
#define SFXwar_b_noise_02 1064
#define SFXwa3_b_agitated_lp_00 1065
#define SFXwa3_b_idle_lp_00 1066
#define SFXsfx042B 1067
#define SFXwa3_b_noise_00 1068
#define SFXsfx042D 1069
#define SFXwa3_b_noise_02 1070
#define SFXwa3_r_hitlight_00 1071
#define SFXwa3_r_wingbuzz_00 1072
#define SFXglo_b_fly_lp_00 1073
#define SFXwa3_r_wingbuzz_02 1074
#define SFXsfx0433 1075
#define SFXsfx0434 1076
#define SFXsfx0435 1077
#define SFXsfx0436 1078
#define SFXsfx0437 1079
#define SFXsfx0438 1080
#define SFXsfx0439 1081
#define SFXsfx043A 1082
#define SFXsfx043B 1083
#define SFXsfx043C 1084
#define SFXsfx043D 1085
#define SFXsfx043E 1086
#define SFXsfx043F 1087
#define SFXsfx0440 1088
#define SFXsfx0441 1089

145
Runtime/Audio/SFX/Weapons.h Normal file
View File

@ -0,0 +1,145 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Weapons
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPWeapons 43
#define SFXwpn_bomb_drop 1756
#define SFXsfx06DD 1757
#define SFXwpn_bomb_explo 1758
#define SFXwpn_chargeup_ice 1759
#define SFXsfx06E0 1760
#define SFXsfx06E1 1761
#define SFXwpn_combo_xfer 1762
#define SFXwpn_empty_action 1763
#define SFXsfx06E4 1764
#define SFXsfx06E5 1765
#define SFXwpn_chargeup_power 1766
#define SFXwpn_fire_power_charged 1767
#define SFXwpn_fire_missile 1768
#define SFXwpn_reload_missile 1769
#define SFXwpn_fire_power_normal 1770
#define SFXsfx06EB 1771
#define SFXsfx06EC 1772
#define SFXsfx06ED 1773
#define SFXwpn_morph_out_wipe 1774
#define SFXwpn_morph_in_wipe_done 1775
#define SFXwpn_fire_ice_charged 1776
#define SFXsfx06F1 1777
#define SFXsfx06F2 1778
#define SFXsfx06F3 1779
#define SFXsfx06F4 1780
#define SFXwpn_invalid_action 1781
#define SFXsfx06F6 1782
#define SFXsfx06F7 1783
#define SFXsfx06F8 1784
#define SFXsfx06F9 1785
#define SFXsfx06FA 1786
#define SFXsfx06FB 1787
#define SFXsfx06FC 1788
#define SFXsfx06FD 1789
#define SFXsfx06FE 1790
#define SFXsfx06FF 1791
#define SFXsfx0700 1792
#define SFXsfx0701 1793
#define SFXsfx0702 1794
#define SFXsfx0703 1795
#define SFXsfx0704 1796
#define SFXwpn_fire_ice_normal 1797
#define SFXsfx0706 1798
#define SFXsfx0707 1799
#define SFXsfx0708 1800
#define SFXwpn_fire_wave_normal 1801
#define SFXsfx070A 1802
#define SFXwpn_fire_plasma_normal 1803
#define SFXsfx070C 1804
#define SFXwpn_fire_phazon_normal 1805
#define SFXsfx070E 1806
#define SFXsfx070F 1807
#define SFXsfx0710 1808
#define SFXsfx0711 1809
#define SFXsfx0712 1810
#define SFXsfx0713 1811
#define SFXsfx0714 1812
#define SFXsfx0715 1813
#define SFXsfx0716 1814
#define SFXsfx0717 1815
#define SFXsfx0718 1816
#define SFXsfx0719 1817
#define SFXsfx071A 1818
#define SFXsfx071B 1819
#define SFXsfx071C 1820
#define SFXwpn_into_beam_ice 1821
#define SFXwpn_from_beam_ice 1822
#define SFXwpn_to_missile_power 1823
#define SFXwpn_from_missile_power 1824
#define SFXwpn_into_beam_plasma 1825
#define SFXwpn_from_beam_plasma 1826
#define SFXwpn_into_beam_wave 1827
#define SFXwpn_from_beam_wave 1828
#define SFXwpn_to_missile_ice 1829
#define SFXsfx0726 1830
#define SFXsfx0727 1831
#define SFXsfx0728 1832
#define SFXsfx0729 1833
#define SFXsfx072A 1834
#define SFXsfx072B 1835
#define SFXsfx072C 1836
#define SFXsfx072D 1837
#define SFXsfx072E 1838
#define SFXwpn_chargeup_plasma 1839
#define SFXwpn_fire_plasma_charged 1840
#define SFXsfx0731 1841
#define SFXwpn_combo_flamethrower 1842
#define SFXsfx0733 1843
#define SFXwpn_chargeup_wave 1844
#define SFXwpn_fire_wave_charged 1845
#define SFXsfx0736 1846
#define SFXwpn_combo_wavebuster 1847
#define SFXsfx0738 1848
#define SFXwpn_from_missile_ice 1849
#define SFXwpn_to_missile_wave 1850
#define SFXwpn_from_missile_wave 1851
#define SFXwpn_to_missile_plasma 1852
#define SFXwpn_from_missile_plasma 1853
#define SFXsfx073E 1854
#define SFXsfx073F 1855
#define SFXsfx0740 1856
#define SFXsfx0741 1857
#define SFXsfx0742 1858
#define SFXsfx0743 1859
#define SFXsfx0744 1860
#define SFXsfx0745 1861
#define SFXsfx0746 1862
#define SFXsfx0747 1863
#define SFXsfx0748 1864
#define SFXsfx0749 1865
#define SFXsfx074A 1866
#define SFXsfx074B 1867
#define SFXsfx074C 1868
#define SFXsfx074D 1869
#define SFXsfx074E 1870
#define SFXsfx074F 1871
#define SFXsfx0750 1872
#define SFXsfx0751 1873
#define SFXsfx0752 1874
#define SFXsfx0753 1875
#define SFXsfx0754 1876
#define SFXsfx0755 1877
#define SFXsfx0756 1878
#define SFXsfx0757 1879
#define SFXsfx0758 1880
#define SFXsfx0759 1881
#define SFXsfx075A 1882
#define SFXsfx075B 1883
#define SFXsfx075C 1884
#define SFXsfx075D 1885
#define SFXsfx075E 1886
#define SFXsfx075F 1887
#define SFXsfx0760 1888
#define SFXsfx0761 1889
#define SFXsfx0762 1890
#define SFXsfx0763 1891

29
Runtime/Audio/SFX/ZZZ.h Normal file
View File

@ -0,0 +1,29 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: ZZZ
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPZZZ 65
#define SFXsfx0C16 3094
#define SFXsfx0C17 3095
#define SFXsfx0C18 3096
#define SFXsfx0C19 3097
#define SFXsfx0C1A 3098
#define SFXsfx0C1B 3099
#define SFXsfx0C1C 3100
#define SFXsfx0C1D 3101
#define SFXsfx0C1E 3102
#define SFXsfx0C1F 3103
#define SFXsfx0C20 3104
#define SFXsfx0C21 3105
#define SFXsfx0C22 3106
#define SFXsfx0C23 3107
#define SFXsfx0C24 3108
#define SFXsfx0C25 3109
#define SFXsfx0C26 3110
#define SFXsfx0C27 3111
#define SFXsfx0C28 3112
#define SFXsfx0C29 3113

View File

@ -0,0 +1,31 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: Zoomer
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPZoomer 54
#define SFXzom_b_idle_00 2681
#define SFXsfx0A7A 2682
#define SFXsfx0A7B 2683
#define SFXsfx0A7C 2684
#define SFXsfx0A7D 2685
#define SFXgem_b_idle_00 2686
#define SFXsfx0A7F 2687
#define SFXsfx0A80 2688
#define SFXsfx0A81 2689
#define SFXsfx0A82 2690
#define SFXsfx0A83 2691
#define SFXsfx0A84 2692
#define SFXsfx0A85 2693
#define SFXsfx0A86 2694
#define SFXsfx0A87 2695
#define SFXsfx0A88 2696
#define SFXsfx0A89 2697
#define SFXsfx0A8A 2698
#define SFXsfx0A8B 2699
#define SFXsfx0A8C 2700
#define SFXsfx0A8D 2701
#define SFXsfx0A8E 2702

View File

@ -0,0 +1,15 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: lumigek
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPLumigek 69
#define SFXlum_b_idle_00 3143
#define SFXsfx0C48 3144
#define SFXsfx0C49 3145
#define SFXsfx0C4A 3146
#define SFXsfx0C4B 3147
#define SFXsfx0C4C 3148

13
Runtime/Audio/SFX/test.h Normal file
View File

@ -0,0 +1,13 @@
/* Auto-generated Amuse Defines
*
* Project: Audio
* Subproject: test
* Date: Sat Sep 1 12:32:04 2018
*/
#define GRPtest 53
#define SNGIntro_Cinema 0
#define SNGMain_Plaza 1
#define SNGIntro_Exit 2
#define SNGEndGame 3

View File

@ -11,7 +11,7 @@
#include "Runtime/GCNTypes.hpp" #include "Runtime/GCNTypes.hpp"
#include "Runtime/RetroTypes.hpp" #include "Runtime/RetroTypes.hpp"
#include <athena/FileReader.hpp> //#include <athena/FileReader.hpp>
#include <nod/nod.hpp> #include <nod/nod.hpp>
#include <nod/DiscBase.hpp> #include <nod/DiscBase.hpp>

View File

@ -23,6 +23,21 @@ union BitsToDouble {
double doub; double doub;
}; };
/** Word Bitmap reader/writer */
void WordBitmap::read(athena::io::IStreamReader& reader, size_t bitCount) {
m_bitCount = bitCount;
size_t wordCount = (bitCount + 31) / 32;
m_words.clear();
m_words.reserve(wordCount);
for (size_t w = 0; w < wordCount; ++w)
m_words.push_back(reader.readUint32Big());
}
void WordBitmap::write(athena::io::IStreamWriter& writer) const {
for (atUint32 word : m_words)
writer.writeUint32Big(word);
}
void WordBitmap::binarySize(size_t& __isz) const { __isz += m_words.size() * 4; }
CScriptLayerManager::CScriptLayerManager(CInputStream& reader, const CWorldSaveGameInfo& saveWorld) { CScriptLayerManager::CScriptLayerManager(CInputStream& reader, const CWorldSaveGameInfo& saveWorld) {
const u32 bitCount = reader.ReadBits(10); const u32 bitCount = reader.ReadBits(10);
x10_saveLayers.reserve(bitCount); x10_saveLayers.reserve(bitCount);

View File

@ -4,8 +4,6 @@
#include <memory> #include <memory>
#include <vector> #include <vector>
#include "DataSpec/DNACommon/DNACommon.hpp"
#include "Runtime/CBasics.hpp" #include "Runtime/CBasics.hpp"
#include "Runtime/CGameOptions.hpp" #include "Runtime/CGameOptions.hpp"
#include "Runtime/CPlayerState.hpp" #include "Runtime/CPlayerState.hpp"
@ -17,10 +15,73 @@
namespace metaforce { namespace metaforce {
class CSaveWorldMemory; class CSaveWorldMemory;
// TODO: copied from DataSpec, should be reimplemented
class WordBitmap {
std::vector<atUint32> m_words;
size_t m_bitCount = 0;
public:
void read(athena::io::IStreamReader& reader, size_t bitCount);
void write(athena::io::IStreamWriter& writer) const;
void reserve(size_t bitCount) { m_words.reserve((bitCount + 31) / 32); }
void binarySize(size_t& __isz) const;
size_t getBitCount() const { return m_bitCount; }
bool getBit(size_t idx) const {
size_t wordIdx = idx / 32;
if (wordIdx >= m_words.size())
return false;
size_t wordCur = idx % 32;
return (m_words[wordIdx] >> wordCur) & 0x1;
}
void setBit(size_t idx) {
size_t wordIdx = idx / 32;
while (wordIdx >= m_words.size())
m_words.push_back(0);
size_t wordCur = idx % 32;
m_words[wordIdx] |= (1 << wordCur);
m_bitCount = std::max(m_bitCount, idx + 1);
}
void unsetBit(size_t idx) {
size_t wordIdx = idx / 32;
while (wordIdx >= m_words.size())
m_words.push_back(0);
size_t wordCur = idx % 32;
m_words[wordIdx] &= ~(1 << wordCur);
m_bitCount = std::max(m_bitCount, idx + 1);
}
void clear() {
m_words.clear();
m_bitCount = 0;
}
class Iterator {
friend class WordBitmap;
const WordBitmap& m_bmp;
size_t m_idx = 0;
Iterator(const WordBitmap& bmp, size_t idx) : m_bmp(bmp), m_idx(idx) {}
public:
using iterator_category = std::forward_iterator_tag;
using value_type = bool;
using difference_type = std::ptrdiff_t;
using pointer = bool*;
using reference = bool&;
Iterator& operator++() {
++m_idx;
return *this;
}
bool operator*() const { return m_bmp.getBit(m_idx); }
bool operator!=(const Iterator& other) const { return m_idx != other.m_idx; }
};
Iterator begin() const { return Iterator(*this, 0); }
Iterator end() const { return Iterator(*this, m_bitCount); }
};
class CScriptLayerManager { class CScriptLayerManager {
friend class CSaveWorldIntermediate; friend class CSaveWorldIntermediate;
std::vector<CWorldLayers::Area> x0_areaLayers; std::vector<CWorldLayers::Area> x0_areaLayers;
DataSpec::WordBitmap x10_saveLayers; WordBitmap x10_saveLayers;
public: public:
CScriptLayerManager() = default; CScriptLayerManager() = default;

View File

@ -14,10 +14,6 @@
#include "../version.h" #include "../version.h"
/* Static reference to dataspec additions
* (used by MSVC to definitively link DataSpecs) */
#include "DataSpecRegistry.hpp"
//#include <fenv.h> //#include <fenv.h>
//#pragma STDC FENV_ACCESS ON //#pragma STDC FENV_ACCESS ON
@ -543,9 +539,6 @@ public:
} // namespace metaforce } // namespace metaforce
static char CwdBuf[1024];
std::string ExeDir;
static void SetupBasics(bool logging) { static void SetupBasics(bool logging) {
auto result = zeus::validateCPU(); auto result = zeus::validateCPU();
if (!result.first) { if (!result.first) {
@ -613,18 +606,6 @@ int main(int argc, char** argv) {
logvisor::RegisterFileLogger(logFilePath.c_str()); logvisor::RegisterFileLogger(logFilePath.c_str());
} }
if (char* cwd = hecl::Getcwd(CwdBuf, 1024)) {
if (hecl::PathRelative(argv[0]))
ExeDir = std::string(cwd) + '/';
std::string Argv0(argv[0]);
std::string::size_type lastIdx = Argv0.find_last_of("/\\");
if (lastIdx != std::string::npos)
ExeDir.insert(ExeDir.end(), Argv0.begin(), Argv0.begin() + lastIdx);
}
/* Handle -j argument */
hecl::SetCpuCountOverride(argc, argv);
auto app = std::make_unique<metaforce::Application>(fileMgr, cvarMgr, cvarCmns); auto app = std::make_unique<metaforce::Application>(fileMgr, cvarMgr, cvarCmns);
auto icon = metaforce::GetIcon(); auto icon = metaforce::GetIcon();
auto data = aurora::Icon{ auto data = aurora::Icon{

View File

@ -158,9 +158,8 @@ function(add_runtime_common_library name)
endif () endif ()
endfunction() endfunction()
set(RUNTIME_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) set(RUNTIME_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR})
set(RUNTIME_LIBRARIES ${HECL_APPLICATION_REPS_TARGETS_LIST} RetroDataSpec AssetNameMapNull NESEmulator set(RUNTIME_LIBRARIES amuse zeus nod NESEmulator libjpeg-turbo jbus kabufuda discord-rpc logvisor OptickCore imgui aurora SDL2-static)
libjpeg-turbo jbus kabufuda discord-rpc logvisor OptickCore imgui aurora SDL2-static)
add_runtime_common_library(RuntimeCommon ${RUNTIME_SOURCES_A}) add_runtime_common_library(RuntimeCommon ${RUNTIME_SOURCES_A})
target_include_directories(RuntimeCommon PUBLIC ${RUNTIME_INCLUDES}) target_include_directories(RuntimeCommon PUBLIC ${RUNTIME_INCLUDES})
@ -240,7 +239,7 @@ if (COMMAND add_sanitizers)
endif () endif ()
if (NOT WINDOWS_STORE) if (NOT WINDOWS_STORE)
add_dependencies(metaforce hecl) # visigen #add_dependencies(metaforce hecl) # visigen
else () else ()
set_property(TARGET metaforce PROPERTY VS_WINRT_COMPONENT TRUE) set_property(TARGET metaforce PROPERTY VS_WINRT_COMPONENT TRUE)
# This should match the Package.appxmanifest # This should match the Package.appxmanifest

View File

@ -2,29 +2,44 @@
#include "Runtime/GameGlobalObjects.hpp" #include "Runtime/GameGlobalObjects.hpp"
#include "Runtime/IMain.hpp" #include "Runtime/IMain.hpp"
#include <SDL_filesystem.h>
namespace metaforce { namespace metaforce {
static std::optional<std::string> GetPrefPath(const char* app) {
char* path = SDL_GetPrefPath(nullptr, app);
if (path == nullptr) {
return {};
}
std::string str{path};
SDL_free(path);
return str;
}
std::string CMemoryCardSys::ResolveDolphinCardPath(kabufuda::ECardSlot slot) { std::string CMemoryCardSys::ResolveDolphinCardPath(kabufuda::ECardSlot slot) {
if (g_Main->IsUSA() && !g_Main->IsTrilogy()) { if (g_Main->IsUSA() && !g_Main->IsTrilogy()) {
const char* home = getenv("HOME"); const auto dolphinPath = GetPrefPath("dolphin-emu");
if (!home || home[0] != '/') if (!dolphinPath) {
return {}; return {};
const char* dataHome = getenv("XDG_DATA_HOME"); }
auto path = *dolphinPath;
path += fmt::format(FMT_STRING("GC/MemoryCard{:c}.USA.raw"), slot == kabufuda::ECardSlot::SlotA ? 'A' : 'B');
/* XDG-selected data path */ struct stat64 theStat {};
std::string path = if (stat64(path.c_str(), &theStat) != 0 || !S_ISREG(theStat.st_mode)) {
((dataHome && dataHome[0] == '/') ? dataHome : std::string(home)) + "/.local/share/dolphin-emu";
path += fmt::format(FMT_STRING("/GC/MemoryCard{:c}.USA.raw"), slot == kabufuda::ECardSlot::SlotA ? 'A' : 'B');
hecl::Sstat theStat;
if (hecl::Stat(path.c_str(), &theStat) || !S_ISREG(theStat.st_mode)) {
/* legacy case for older dolphin versions */ /* legacy case for older dolphin versions */
const char* home = getenv("HOME");
if (home == nullptr || home[0] != '/') {
return {};
}
path = home; path = home;
path += fmt::format(FMT_STRING("/.dolphin-emu/GC/MemoryCard{:c}.USA.raw"), path += fmt::format(FMT_STRING("/.dolphin-emu/GC/MemoryCard{:c}.USA.raw"),
slot == kabufuda::ECardSlot::SlotA ? 'A' : 'B'); slot == kabufuda::ECardSlot::SlotA ? 'A' : 'B');
if (hecl::Stat(path.c_str(), &theStat) || !S_ISREG(theStat.st_mode)) if (stat64(path.c_str(), &theStat) != 0 || !S_ISREG(theStat.st_mode)) {
return {}; return {};
} }
}
return path; return path;
} }
@ -34,33 +49,39 @@ std::string CMemoryCardSys::ResolveDolphinCardPath(kabufuda::ECardSlot slot) {
std::string CMemoryCardSys::_CreateDolphinCard(kabufuda::ECardSlot slot, bool dolphin) { std::string CMemoryCardSys::_CreateDolphinCard(kabufuda::ECardSlot slot, bool dolphin) {
if (g_Main->IsUSA() && !g_Main->IsTrilogy()) { if (g_Main->IsUSA() && !g_Main->IsTrilogy()) {
if (dolphin) { if (dolphin) {
const char* home = getenv("HOME"); const auto dolphinPath = GetPrefPath("dolphin-emu");
if (!home || home[0] != '/') if (!dolphinPath) {
return {}; return {};
const char* dataHome = getenv("XDG_DATA_HOME"); }
auto path = *dolphinPath + "GC";
/* XDG-selected data path */ int ret = mkdir(path.c_str(), 0755);
std::string path = if (ret != 0 && ret != EEXIST) {
((dataHome && dataHome[0] == '/') ? dataHome : std::string(home)) + "/.local/share/dolphin-emu/GC";
if (hecl::RecursiveMakeDir(path.c_str()) < 0)
return {}; return {};
}
path += fmt::format(FMT_STRING("/MemoryCard{:c}.USA.raw"), slot == kabufuda::ECardSlot::SlotA ? 'A' : 'B'); path += fmt::format(FMT_STRING("/MemoryCard{:c}.USA.raw"), slot == kabufuda::ECardSlot::SlotA ? 'A' : 'B');
const auto fp = hecl::FopenUnique(path.c_str(), "wb"); auto* file = fopen(path.c_str(), "wbe");
if (fp != nullptr) { if (file != nullptr) {
fclose(file);
return path; return path;
} }
} else { } else {
std::string path = _GetDolphinCardPath(slot); std::string path = _GetDolphinCardPath(slot);
hecl::SanitizePath(path);
if (path.find('/') == std::string::npos) { if (path.find('/') == std::string::npos) {
path = hecl::GetcwdStr() + "/" + _GetDolphinCardPath(slot); auto basePath = GetPrefPath("metaforce");
if (!basePath) {
return {};
} }
std::string tmpPath = path.substr(0, path.find_last_of("/")); path = *basePath + _GetDolphinCardPath(slot);
hecl::RecursiveMakeDir(tmpPath.c_str()); }
const auto fp = hecl::FopenUnique(path.c_str(), "wb"); std::string tmpPath = path.substr(0, path.find_last_of('/'));
if (fp) { int ret = mkdir(tmpPath.c_str(), 0755);
if (ret != 0 && ret != EEXIST) {
return {};
}
auto* file = fopen(path.c_str(), "wbe");
if (file != nullptr) {
fclose(file);
return path; return path;
} }
} }

View File

@ -1,6 +1,8 @@
#include "Runtime/CStringExtras.hpp" #include "Runtime/CStringExtras.hpp"
#include "Runtime/Streams/CInputStream.hpp" #include "Runtime/Streams/CInputStream.hpp"
#include <nod/OSUTF.h>
namespace metaforce { namespace metaforce {
std::string CStringExtras::ReadString(CInputStream& in) { std::string CStringExtras::ReadString(CInputStream& in) {
u32 strLen = in.ReadLong(); u32 strLen = in.ReadLong();
@ -18,4 +20,78 @@ std::string CStringExtras::ReadString(CInputStream& in) {
return ret; return ret;
} }
std::string CStringExtras::ConvertToANSI(std::u16string_view sv) {
std::string out;
out.reserve(sv.size());
for (const char16_t c : sv) {
out.push_back(static_cast<char>(c));
}
return out;
} }
std::u16string CStringExtras::ConvertToUNICODE(std::string_view sv) {
std::u16string out;
out.reserve(sv.size());
for (const char c : sv) {
out.push_back(static_cast<char16_t>(c));
}
return out;
}
std::string CStringExtras::ConvertToUTF8(std::u16string_view sv) {
std::string out;
const auto* in = sv.data();
const auto* end = in + sv.size();
while (in < end) {
char32_t utf32 = 0;
const char16_t* next = OSUTF16To32(in, &utf32);
// TODO: bug in OSUTF
if (next == nullptr) {
utf32 = *in;
in++;
} else {
in = next;
}
std::array<char8_t, 4> chars8{};
char8_t* end8 = OSUTF32To8(utf32, chars8.data());
if (end8 == nullptr) {
continue;
}
const auto* c = chars8.data();
while (c < end8) {
out.push_back(static_cast<char>(*c));
c++;
}
}
return out;
}
std::u16string CStringExtras::ConvertToUTF16(std::string_view sv) {
std::u16string out;
const auto* in = reinterpret_cast<const char8_t*>(sv.data());
const auto* end = in + sv.size();
while (in < end) {
char32_t utf32 = 0;
const char8_t* next = OSUTF8To32(in, &utf32);
// TODO: bug in OSUTF
if (next == nullptr) {
utf32 = *in;
in++;
} else {
in = next;
}
std::array<char16_t, 2> chars16{};
char16_t* end16 = OSUTF32To16(utf32, chars16.data());
if (end16 == nullptr) {
continue;
}
const auto* c = chars16.data();
while (c < end16) {
out.push_back(*c);
c++;
}
}
return out;
}
} // namespace metaforce

View File

@ -8,6 +8,12 @@ namespace metaforce {
class CInputStream; class CInputStream;
class CStringExtras { class CStringExtras {
public: public:
static std::string ConvertToANSI(std::u16string_view sv);
static std::u16string ConvertToUNICODE(std::string_view sv);
// Metaforce addition: UTF-8/16 compatible versions of the above
static std::string ConvertToUTF8(std::u16string_view sv);
static std::u16string ConvertToUTF16(std::string_view sv);
// Checks if the provided views into string data can be considered equal or not based on // Checks if the provided views into string data can be considered equal or not based on
// whether or not all their characters are equal to one another in a character insensitive manner. // whether or not all their characters are equal to one another in a character insensitive manner.
// //

View File

@ -2,8 +2,6 @@
#include <vector> #include <vector>
#include "DNACommon/SAVWCommon.hpp"
#include "Runtime/CFactoryMgr.hpp" #include "Runtime/CFactoryMgr.hpp"
#include "Runtime/RetroTypes.hpp" #include "Runtime/RetroTypes.hpp"
@ -11,7 +9,8 @@ namespace metaforce {
class CWorldSaveGameInfo { class CWorldSaveGameInfo {
public: public:
using EScanCategory = DataSpec::SAVWCommon::EScanCategory; enum class EScanCategory { None, Data, Lore, Creature, Research, Artifact };
struct SScanState { struct SScanState {
CAssetId x0_id; CAssetId x0_id;
EScanCategory x4_category; EScanCategory x4_category;

View File

@ -9,7 +9,6 @@
#include <cmath> #include <cmath>
#include <utility> #include <utility>
#include <hecl/hecl.hpp>
#include <zeus/CVector2i.hpp> #include <zeus/CVector2i.hpp>
namespace metaforce { namespace metaforce {

View File

@ -712,11 +712,11 @@ CBooRenderer::~CBooRenderer() { g_Renderer = nullptr; }
void CBooRenderer::AddWorldSurfaces(CBooModel& model) { void CBooRenderer::AddWorldSurfaces(CBooModel& model) {
CBooSurface* surf = model.x3c_firstSortedSurface; CBooSurface* surf = model.x3c_firstSortedSurface;
while (surf) { while (surf) {
const MaterialSet::Material& mat = model.GetMaterialByIndex(surf->m_data.matIdx); // const MaterialSet::Material& mat = model.GetMaterialByIndex(surf->m_data.matIdx);
zeus::CAABox aabb = surf->GetBounds(); zeus::CAABox aabb = surf->GetBounds();
zeus::CVector3f pt = aabb.closestPointAlongVector(xb0_viewPlane.normal()); zeus::CVector3f pt = aabb.closestPointAlongVector(xb0_viewPlane.normal());
Buckets::Insert(pt, aabb, EDrawableType::WorldSurface, surf, xb0_viewPlane, Buckets::Insert(pt, aabb, EDrawableType::WorldSurface, surf, xb0_viewPlane,
mat.blendMode == MaterialSet::Material::BlendMaterial::BlendMode::Alpha); /*mat.blendMode == MaterialSet::Material::BlendMaterial::BlendMode::Alpha*/ false);
surf = surf->m_next; surf = surf->m_next;
} }
} }

View File

@ -7,13 +7,13 @@
#include "Runtime/RetroTypes.hpp" #include "Runtime/RetroTypes.hpp"
#include "DataSpec/DNACommon/GX.hpp" #include "GX.hpp"
//#include <boo/graphicsdev/IGraphicsCommandQueue.hpp> //#include <boo/graphicsdev/IGraphicsCommandQueue.hpp>
//#include <boo/graphicsdev/IGraphicsDataFactory.hpp> //#include <boo/graphicsdev/IGraphicsDataFactory.hpp>
#include "ConsoleVariables/CVar.hpp" #include "ConsoleVariables/CVar.hpp"
#include <hecl/Runtime.hpp> //#include <hecl/Runtime.hpp>
#include <zeus/CColor.hpp> #include <zeus/CColor.hpp>
#include <zeus/CTransform.hpp> #include <zeus/CTransform.hpp>

View File

@ -8,7 +8,7 @@
#include "Shaders/CModelShaders.hpp" #include "Shaders/CModelShaders.hpp"
#include <hecl/HMDLMeta.hpp> //#include <hecl/HMDLMeta.hpp>
#include <zeus/CAABox.hpp> #include <zeus/CAABox.hpp>
#include <zeus/CTransform.hpp> #include <zeus/CTransform.hpp>
@ -26,7 +26,7 @@ class CMetroidModelInstance {
zeus::CAABox x34_aabb; zeus::CAABox x34_aabb;
std::vector<CBooSurface> m_surfaces; std::vector<CBooSurface> m_surfaces;
std::unique_ptr<CBooModel> m_instance; std::unique_ptr<CBooModel> m_instance;
hecl::HMDLMeta m_hmdlMeta; // hecl::HMDLMeta m_hmdlMeta;
// std::unordered_map<int, CModelShaders::ShaderPipelines> m_shaders; // std::unordered_map<int, CModelShaders::ShaderPipelines> m_shaders;
public: public:
@ -38,7 +38,7 @@ public:
x34_aabb = {}; x34_aabb = {};
m_surfaces.clear(); m_surfaces.clear();
m_instance.reset(); m_instance.reset();
m_hmdlMeta = {}; // m_hmdlMeta = {};
// m_shaders.clear(); // m_shaders.clear();
} }
}; };

View File

@ -5,15 +5,15 @@
#include <unordered_map> #include <unordered_map>
#include <vector> #include <vector>
#include "DataSpec/DNACommon/CMDL.hpp" //#include "DataSpec/DNACommon/CMDL.hpp"
#include "DataSpec/DNAMP1/CMDLMaterials.hpp" //#include "DataSpec/DNAMP1/CMDLMaterials.hpp"
#include "Runtime/CFactoryMgr.hpp" #include "Runtime/CFactoryMgr.hpp"
#include "Runtime/CToken.hpp" #include "Runtime/CToken.hpp"
#include "Runtime/Graphics/CTexture.hpp" #include "Runtime/Graphics/CTexture.hpp"
#include "Runtime/Graphics/Shaders/CModelShaders.hpp" #include "Runtime/Graphics/Shaders/CModelShaders.hpp"
#include "Runtime/RetroTypes.hpp" #include "Runtime/RetroTypes.hpp"
#include <hecl/HMDLMeta.hpp> //#include <hecl/HMDLMeta.hpp>
#include <zeus/CAABox.hpp> #include <zeus/CAABox.hpp>
#include <zeus/CColor.hpp> #include <zeus/CColor.hpp>
@ -64,20 +64,21 @@ struct CModelFlags {
/* metaforce addition: doesn't require hacky stashing of /* metaforce addition: doesn't require hacky stashing of
* pointers within loaded CMDL buffer */ * pointers within loaded CMDL buffer */
struct CBooSurface { struct CBooSurface {
DataSpec::DNACMDL::SurfaceHeader_2 m_data; // DataSpec::DNACMDL::SurfaceHeader_2 m_data;
size_t selfIdx; size_t selfIdx;
class CBooModel* m_parent = nullptr; class CBooModel* m_parent = nullptr;
CBooSurface* m_next = nullptr; CBooSurface* m_next = nullptr;
zeus::CAABox GetBounds() const { zeus::CAABox GetBounds() const {
if (!m_data.aabbSz) // if (!m_data.aabbSz)
return zeus::CAABox(m_data.centroid, m_data.centroid); // return zeus::CAABox(m_data.centroid, m_data.centroid);
else // else
return zeus::CAABox(m_data.aabb[0], m_data.aabb[1]); // return zeus::CAABox(m_data.aabb[0], m_data.aabb[1]);
return {};
} }
}; };
using MaterialSet = DataSpec::DNAMP1::HMDLMaterialSet; //using MaterialSet = DataSpec::DNAMP1::HMDLMaterialSet;
//struct GeometryUniformLayout { //struct GeometryUniformLayout {
// mutable std::vector<boo::ObjToken<boo::IGraphicsBufferD>> m_sharedBuffer; // mutable std::vector<boo::ObjToken<boo::IGraphicsBufferD>> m_sharedBuffer;
@ -103,7 +104,7 @@ using MaterialSet = DataSpec::DNAMP1::HMDLMaterialSet;
struct SShader { struct SShader {
std::unordered_map<CAssetId, TCachedToken<CTexture>> x0_textures; std::unordered_map<CAssetId, TCachedToken<CTexture>> x0_textures;
// std::unordered_map<int, CModelShaders::ShaderPipelines> m_shaders; // std::unordered_map<int, CModelShaders::ShaderPipelines> m_shaders;
MaterialSet m_matSet; // MaterialSet m_matSet;
// std::optional<GeometryUniformLayout> m_geomLayout; // std::optional<GeometryUniformLayout> m_geomLayout;
int m_matSetIdx; int m_matSetIdx;
explicit SShader(int idx) : m_matSetIdx(idx) { explicit SShader(int idx) : m_matSetIdx(idx) {
@ -135,7 +136,7 @@ private:
TToken<CModel> m_modelTok; TToken<CModel> m_modelTok;
CModel* m_model; CModel* m_model;
std::vector<CBooSurface>* x0_surfaces; std::vector<CBooSurface>* x0_surfaces;
const MaterialSet* x4_matSet; // const MaterialSet* x4_matSet;
// const GeometryUniformLayout* m_geomLayout; // const GeometryUniformLayout* m_geomLayout;
int m_matSetIdx = -1; int m_matSetIdx = -1;
// const std::unordered_map<int, CModelShaders::ShaderPipelines>* m_pipelines; // const std::unordered_map<int, CModelShaders::ShaderPipelines>* m_pipelines;
@ -148,11 +149,11 @@ private:
u8 x41_mask; u8 x41_mask;
u32 x44_areaInstanceIdx = UINT32_MAX; u32 x44_areaInstanceIdx = UINT32_MAX;
struct UVAnimationBuffer { // struct UVAnimationBuffer {
static void ProcessAnimation(u8*& bufOut, const MaterialSet::Material::PASS& anim); // static void ProcessAnimation(u8*& bufOut, const MaterialSet::Material::PASS& anim);
static void PadOutBuffer(u8*& bufStart, u8*& bufOut); // static void PadOutBuffer(u8*& bufStart, u8*& bufOut);
static void Update(u8*& bufOut, const MaterialSet* matSet, const CModelFlags& flags, const CBooModel* parent); // static void Update(u8*& bufOut, const MaterialSet* matSet, const CModelFlags& flags, const CBooModel* parent);
}; // };
CModelShaders::LightingUniform m_lightingData; CModelShaders::LightingUniform m_lightingData;
@ -200,8 +201,8 @@ public:
// boo::ObjToken<boo::IGraphicsBufferS> vbo, boo::ObjToken<boo::IGraphicsBufferS> ibo, // boo::ObjToken<boo::IGraphicsBufferS> vbo, boo::ObjToken<boo::IGraphicsBufferS> ibo,
const zeus::CAABox& aabb, u8 renderMask); const zeus::CAABox& aabb, u8 renderMask);
static void MakeTexturesFromMats(const MaterialSet& matSet, // static void MakeTexturesFromMats(const MaterialSet& matSet,
std::unordered_map<CAssetId, TCachedToken<CTexture>>& toksOut, IObjectStore& store); // std::unordered_map<CAssetId, TCachedToken<CTexture>>& toksOut, IObjectStore& store);
void MakeTexturesFromMats(std::unordered_map<CAssetId, TCachedToken<CTexture>>& toksOut, IObjectStore& store); void MakeTexturesFromMats(std::unordered_map<CAssetId, TCachedToken<CTexture>>& toksOut, IObjectStore& store);
bool IsOpaque() const { return x3c_firstSortedSurface == nullptr; } bool IsOpaque() const { return x3c_firstSortedSurface == nullptr; }
@ -224,7 +225,7 @@ public:
void LockParent() { m_modelTok.Lock(); } void LockParent() { m_modelTok.Lock(); }
void UnlockParent() { m_modelTok.Unlock(); } void UnlockParent() { m_modelTok.Unlock(); }
const MaterialSet::Material& GetMaterialByIndex(int idx) const { return x4_matSet->materials.at(idx); } // const MaterialSet::Material& GetMaterialByIndex(int idx) const { return x4_matSet->materials.at(idx); }
void ClearUniformCounter() { m_uniUpdateCount = 0; } void ClearUniformCounter() { m_uniUpdateCount = 0; }
static void ClearModelUniformCounters(); static void ClearModelUniformCounters();
@ -275,12 +276,12 @@ class CModel {
/* metaforce addition: boo! */ /* metaforce addition: boo! */
// boo::ObjToken<boo::IGraphicsBufferS> m_staticVbo; // boo::ObjToken<boo::IGraphicsBufferS> m_staticVbo;
hecl::HMDLMeta m_hmdlMeta; // hecl::HMDLMeta m_hmdlMeta;
std::unique_ptr<uint8_t[]> m_dynamicVertexData; std::unique_ptr<uint8_t[]> m_dynamicVertexData;
// boo::ObjToken<boo::IGraphicsBufferS> m_ibo; // boo::ObjToken<boo::IGraphicsBufferS> m_ibo;
public: public:
using MaterialSet = DataSpec::DNAMP1::HMDLMaterialSet; // using MaterialSet = DataSpec::DNAMP1::HMDLMaterialSet;
CModel(std::unique_ptr<u8[]>&& in, u32 dataLen, IObjectStore* store, CObjectReference* selfRef); CModel(std::unique_ptr<u8[]>&& in, u32 dataLen, IObjectStore* store, CObjectReference* selfRef);
void DrawSortedParts(const CModelFlags& flags) const; void DrawSortedParts(const CModelFlags& flags) const;

View File

@ -13,7 +13,7 @@
#include <array> #include <array>
#include "ConsoleVariables/CVarManager.hpp" #include "ConsoleVariables/CVarManager.hpp"
#include <hecl/HMDLMeta.hpp> //#include <hecl/HMDLMeta.hpp>
#include <logvisor/logvisor.hpp> #include <logvisor/logvisor.hpp>
#include <utility> #include <utility>
@ -78,10 +78,10 @@ void CBooModel::EnsureViewDepStateCached(const CBooModel& model, const CBooSurfa
zeus::CVector3f surfPos; zeus::CVector3f surfPos;
float surfSize = 0.f; float surfSize = 0.f;
if (surf) { if (surf) {
zeus::CVector3f surfCenter(surf->m_data.centroid); // zeus::CVector3f surfCenter(surf->m_data.centroid);
zeus::CVector3f surfNormal(surf->m_data.reflectionNormal); // zeus::CVector3f surfNormal(surf->m_data.reflectionNormal);
float dotDelta = surfNormal.dot(modelToPlayerLocal) - surfCenter.dot(surfNormal); // float dotDelta = surfNormal.dot(modelToPlayerLocal) - surfCenter.dot(surfNormal);
surfPos = modelToPlayerLocal - surfNormal * dotDelta; // surfPos = modelToPlayerLocal - surfNormal * dotDelta;
} else { } else {
surfPos = model.x20_aabb.center(); surfPos = model.x20_aabb.center();
surfSize = surfSize =
@ -156,7 +156,7 @@ CBooModel::CBooModel(TToken<CModel>& token, CModel* parent, std::vector<CBooSurf
: m_modelTok(token) : m_modelTok(token)
, m_model(parent) , m_model(parent)
, x0_surfaces(surfaces) , x0_surfaces(surfaces)
, x4_matSet(&shader.m_matSet) //, x4_matSet(&shader.m_matSet)
//, m_geomLayout(&*shader.m_geomLayout) //, m_geomLayout(&*shader.m_geomLayout)
, m_matSetIdx(shader.m_matSetIdx) , m_matSetIdx(shader.m_matSetIdx)
//, m_pipelines(&shader.m_shaders) //, m_pipelines(&shader.m_shaders)
@ -178,15 +178,15 @@ CBooModel::CBooModel(TToken<CModel>& token, CModel* parent, std::vector<CBooSurf
surf.m_parent = this; surf.m_parent = this;
for (auto it = x0_surfaces->rbegin(); it != x0_surfaces->rend(); ++it) { for (auto it = x0_surfaces->rbegin(); it != x0_surfaces->rend(); ++it) {
u32 matId = it->m_data.matIdx; // u32 matId = it->m_data.matIdx;
const MaterialSet::Material& matData = GetMaterialByIndex(matId); // const MaterialSet::Material& matData = GetMaterialByIndex(matId);
if (matData.flags.depthSorting()) { // if (matData.flags.depthSorting()) {
it->m_next = x3c_firstSortedSurface; // it->m_next = x3c_firstSortedSurface;
x3c_firstSortedSurface = &*it; // x3c_firstSortedSurface = &*it;
} else { // } else {
it->m_next = x38_firstUnsortedSurface; // it->m_next = x38_firstUnsortedSurface;
x38_firstUnsortedSurface = &*it; // x38_firstUnsortedSurface = &*it;
} // }
} }
// m_instances.reserve(numInsts); // m_instances.reserve(numInsts);
@ -405,21 +405,21 @@ CBooModel::CBooModel(TToken<CModel>& token, CModel* parent, std::vector<CBooSurf
// return &newInst; // return &newInst;
//} //}
void CBooModel::MakeTexturesFromMats(const MaterialSet& matSet, //void CBooModel::MakeTexturesFromMats(const MaterialSet& matSet,
std::unordered_map<CAssetId, TCachedToken<CTexture>>& toksOut, // std::unordered_map<CAssetId, TCachedToken<CTexture>>& toksOut,
IObjectStore& store) { // IObjectStore& store) {
for (const auto& mat : matSet.materials) { // for (const auto& mat : matSet.materials) {
for (const auto& chunk : mat.chunks) { // for (const auto& chunk : mat.chunks) {
if (const auto* const pass = chunk.get_if<MaterialSet::Material::PASS>()) { // if (const auto* const pass = chunk.get_if<MaterialSet::Material::PASS>()) {
toksOut.emplace(std::make_pair(pass->texId.toUint32(), store.GetObj({SBIG('TXTR'), pass->texId.toUint32()}))); // toksOut.emplace(std::make_pair(pass->texId.toUint32(), store.GetObj({SBIG('TXTR'), pass->texId.toUint32()})));
} // }
} // }
} // }
} //}
void CBooModel::MakeTexturesFromMats(std::unordered_map<CAssetId, TCachedToken<CTexture>>& toksOut, void CBooModel::MakeTexturesFromMats(std::unordered_map<CAssetId, TCachedToken<CTexture>>& toksOut,
IObjectStore& store) { IObjectStore& store) {
MakeTexturesFromMats(*x4_matSet, toksOut, store); // MakeTexturesFromMats(*x4_matSet, toksOut, store);
} }
void CBooModel::ActivateLights(const std::vector<CLight>& lights) { m_lightingData.ActivateLights(lights); } void CBooModel::ActivateLights(const std::vector<CLight>& lights) { m_lightingData.ActivateLights(lights); }
@ -439,7 +439,7 @@ void CBooModel::RemapMaterialData(SShader& shader) {
// TODO what is this checking? // TODO what is this checking?
// if (!shader.m_geomLayout) // if (!shader.m_geomLayout)
// return; // return;
x4_matSet = &shader.m_matSet; // x4_matSet = &shader.m_matSet;
x1c_textures = shader.x0_textures; x1c_textures = shader.x0_textures;
x40_24_texturesLoaded = false; x40_24_texturesLoaded = false;
} }
@ -549,74 +549,74 @@ void CBooModel::DrawSurfaces(const CModelFlags& flags) const {
} }
} }
static EExtendedShader ResolveExtendedShader(const MaterialSet::Material& data, const CModelFlags& flags) { //static EExtendedShader ResolveExtendedShader(const MaterialSet::Material& data, const CModelFlags& flags) {
bool noZWrite = flags.m_noZWrite || !data.flags.depthWrite(); // bool noZWrite = flags.m_noZWrite || !data.flags.depthWrite();
//
/* Ensure cubemap extension shaders fall back to non-cubemap equivalents if necessary */ // /* Ensure cubemap extension shaders fall back to non-cubemap equivalents if necessary */
EExtendedShader intermediateExtended = flags.m_extendedShader; // EExtendedShader intermediateExtended = flags.m_extendedShader;
if (!com_cubemaps->toBoolean() || g_Renderer->IsThermalVisorHotPass() || g_Renderer->IsThermalVisorActive()) { // if (!com_cubemaps->toBoolean() || g_Renderer->IsThermalVisorHotPass() || g_Renderer->IsThermalVisorActive()) {
if (intermediateExtended == EExtendedShader::LightingCubeReflection) // if (intermediateExtended == EExtendedShader::LightingCubeReflection)
intermediateExtended = EExtendedShader::Lighting; // intermediateExtended = EExtendedShader::Lighting;
else if (intermediateExtended == EExtendedShader::LightingCubeReflectionWorldShadow) // else if (intermediateExtended == EExtendedShader::LightingCubeReflectionWorldShadow)
intermediateExtended = EExtendedShader::WorldShadow; // intermediateExtended = EExtendedShader::WorldShadow;
} // }
//
EExtendedShader extended = EExtendedShader::Flat; // EExtendedShader extended = EExtendedShader::Flat;
if (intermediateExtended == EExtendedShader::Lighting) { // if (intermediateExtended == EExtendedShader::Lighting) {
/* Transform lighting into thermal if the thermal visor is active */ // /* Transform lighting into thermal if the thermal visor is active */
if (g_Renderer->IsThermalVisorHotPass()) // if (g_Renderer->IsThermalVisorHotPass())
return flags.m_noZTest ? EExtendedShader::LightingAlphaWriteNoZTestNoZWrite // return flags.m_noZTest ? EExtendedShader::LightingAlphaWriteNoZTestNoZWrite
: (noZWrite ? EExtendedShader::ThermalStaticNoZWrite : EExtendedShader::ThermalStatic); // : (noZWrite ? EExtendedShader::ThermalStaticNoZWrite : EExtendedShader::ThermalStatic);
else if (g_Renderer->IsThermalVisorActive()) // else if (g_Renderer->IsThermalVisorActive())
return EExtendedShader::ThermalCold; // return EExtendedShader::ThermalCold;
if (data.blendMode == MaterialSet::Material::BlendMaterial::BlendMode::Opaque) { // if (data.blendMode == MaterialSet::Material::BlendMaterial::BlendMode::Opaque) {
/* Override shader if originally opaque (typical for FRME models) */ // /* Override shader if originally opaque (typical for FRME models) */
if (flags.x0_blendMode > 6) { // if (flags.x0_blendMode > 6) {
if (flags.m_depthGreater) // if (flags.m_depthGreater)
extended = EExtendedShader::ForcedAdditiveNoZWriteDepthGreater; // extended = EExtendedShader::ForcedAdditiveNoZWriteDepthGreater;
else // else
extended = // extended =
flags.m_noCull // flags.m_noCull
? (noZWrite ? EExtendedShader::ForcedAdditiveNoCullNoZWrite : EExtendedShader::ForcedAdditiveNoCull) // ? (noZWrite ? EExtendedShader::ForcedAdditiveNoCullNoZWrite : EExtendedShader::ForcedAdditiveNoCull)
: (noZWrite ? EExtendedShader::ForcedAdditiveNoZWrite : EExtendedShader::ForcedAdditive); // : (noZWrite ? EExtendedShader::ForcedAdditiveNoZWrite : EExtendedShader::ForcedAdditive);
} else if (flags.x0_blendMode > 4) { // } else if (flags.x0_blendMode > 4) {
extended = flags.m_noCull // extended = flags.m_noCull
? (noZWrite ? EExtendedShader::ForcedAlphaNoCullNoZWrite : EExtendedShader::ForcedAlphaNoCull) // ? (noZWrite ? EExtendedShader::ForcedAlphaNoCullNoZWrite : EExtendedShader::ForcedAlphaNoCull)
: (noZWrite ? EExtendedShader::ForcedAlphaNoZWrite : EExtendedShader::ForcedAlpha); // : (noZWrite ? EExtendedShader::ForcedAlphaNoZWrite : EExtendedShader::ForcedAlpha);
} else { // } else {
extended = flags.m_noCull // extended = flags.m_noCull
? (noZWrite ? EExtendedShader::ForcedAlphaNoCullNoZWrite : EExtendedShader::ForcedAlphaNoCull) // ? (noZWrite ? EExtendedShader::ForcedAlphaNoCullNoZWrite : EExtendedShader::ForcedAlphaNoCull)
: (noZWrite ? EExtendedShader::ForcedAlphaNoZWrite : EExtendedShader::Lighting); // : (noZWrite ? EExtendedShader::ForcedAlphaNoZWrite : EExtendedShader::Lighting);
} // }
} else if (flags.m_noCull && noZWrite) { // } else if (flags.m_noCull && noZWrite) {
/* Substitute no-cull,no-zwrite pipeline if available */ // /* Substitute no-cull,no-zwrite pipeline if available */
if (data.blendMode == MaterialSet::Material::BlendMaterial::BlendMode::Additive) // if (data.blendMode == MaterialSet::Material::BlendMaterial::BlendMode::Additive)
extended = EExtendedShader::ForcedAdditiveNoCullNoZWrite; // extended = EExtendedShader::ForcedAdditiveNoCullNoZWrite;
else // else
extended = EExtendedShader::ForcedAlphaNoCullNoZWrite; // extended = EExtendedShader::ForcedAlphaNoCullNoZWrite;
} else if (flags.m_noCull) { // } else if (flags.m_noCull) {
/* Substitute no-cull pipeline if available */ // /* Substitute no-cull pipeline if available */
if (data.blendMode == MaterialSet::Material::BlendMaterial::BlendMode::Additive) // if (data.blendMode == MaterialSet::Material::BlendMaterial::BlendMode::Additive)
extended = EExtendedShader::ForcedAdditiveNoCull; // extended = EExtendedShader::ForcedAdditiveNoCull;
else // else
extended = EExtendedShader::ForcedAlphaNoCull; // extended = EExtendedShader::ForcedAlphaNoCull;
} else if (noZWrite) { // } else if (noZWrite) {
/* Substitute no-zwrite pipeline if available */ // /* Substitute no-zwrite pipeline if available */
if (data.blendMode == MaterialSet::Material::BlendMaterial::BlendMode::Additive) // if (data.blendMode == MaterialSet::Material::BlendMaterial::BlendMode::Additive)
extended = EExtendedShader::ForcedAdditiveNoZWrite; // extended = EExtendedShader::ForcedAdditiveNoZWrite;
else // else
extended = EExtendedShader::ForcedAlphaNoZWrite; // extended = EExtendedShader::ForcedAlphaNoZWrite;
} else { // } else {
extended = EExtendedShader::Lighting; // extended = EExtendedShader::Lighting;
} // }
} else if (intermediateExtended == EExtendedShader::ThermalModel) { // } else if (intermediateExtended == EExtendedShader::ThermalModel) {
extended = flags.m_noZTest ? EExtendedShader::ThermalModelNoZTestNoZWrite : EExtendedShader::ThermalModel; // extended = flags.m_noZTest ? EExtendedShader::ThermalModelNoZTestNoZWrite : EExtendedShader::ThermalModel;
} else if (intermediateExtended < EExtendedShader::MAX) { // } else if (intermediateExtended < EExtendedShader::MAX) {
extended = intermediateExtended; // extended = intermediateExtended;
} // }
//
return extended; // return extended;
} //}
void CBooModel::DrawSurface(const CBooSurface& surf, const CModelFlags& flags) const { void CBooModel::DrawSurface(const CBooSurface& surf, const CModelFlags& flags) const {
// if (m_uniUpdateCount == 0 || m_uniUpdateCount > m_instances.size()) // if (m_uniUpdateCount == 0 || m_uniUpdateCount > m_instances.size())
@ -660,194 +660,194 @@ void CBooModel::WarmupDrawSurface(const CBooSurface& surf) const {
// } // }
} }
void CBooModel::UVAnimationBuffer::ProcessAnimation(u8*& bufOut, const MaterialSet::Material::PASS& anim) { //void CBooModel::UVAnimationBuffer::ProcessAnimation(u8*& bufOut, const MaterialSet::Material::PASS& anim) {
using UVAnimType = MaterialSet::Material::BlendMaterial::UVAnimType; // using UVAnimType = MaterialSet::Material::BlendMaterial::UVAnimType;
if (anim.uvAnimType == UVAnimType::Invalid) // if (anim.uvAnimType == UVAnimType::Invalid)
return; // return;
zeus::CMatrix4f& texMtxOut = reinterpret_cast<zeus::CMatrix4f&>(*bufOut); // zeus::CMatrix4f& texMtxOut = reinterpret_cast<zeus::CMatrix4f&>(*bufOut);
zeus::CMatrix4f& postMtxOut = reinterpret_cast<zeus::CMatrix4f&>(*(bufOut + sizeof(zeus::CMatrix4f))); // zeus::CMatrix4f& postMtxOut = reinterpret_cast<zeus::CMatrix4f&>(*(bufOut + sizeof(zeus::CMatrix4f)));
texMtxOut = zeus::CMatrix4f(); // texMtxOut = zeus::CMatrix4f();
postMtxOut = zeus::CMatrix4f(); // postMtxOut = zeus::CMatrix4f();
switch (anim.uvAnimType) { // switch (anim.uvAnimType) {
case UVAnimType::MvInvNoTranslation: { // case UVAnimType::MvInvNoTranslation: {
texMtxOut = CGraphics::g_GXModelViewInvXpose.toMatrix4f(); // texMtxOut = CGraphics::g_GXModelViewInvXpose.toMatrix4f();
texMtxOut[3].w() = 1.f; // texMtxOut[3].w() = 1.f;
postMtxOut[0].x() = 0.5f; // postMtxOut[0].x() = 0.5f;
postMtxOut[1].y() = 0.5f; // postMtxOut[1].y() = 0.5f;
postMtxOut[3].x() = 0.5f; // postMtxOut[3].x() = 0.5f;
postMtxOut[3].y() = 0.5f; // postMtxOut[3].y() = 0.5f;
break; // break;
} // }
case UVAnimType::MvInv: { // case UVAnimType::MvInv: {
texMtxOut = CGraphics::g_GXModelViewInvXpose.toMatrix4f(); // texMtxOut = CGraphics::g_GXModelViewInvXpose.toMatrix4f();
texMtxOut[3] = CGraphics::g_ViewMatrix.inverse() * CGraphics::g_GXModelMatrix.origin; // texMtxOut[3] = CGraphics::g_ViewMatrix.inverse() * CGraphics::g_GXModelMatrix.origin;
texMtxOut[3].w() = 1.f; // texMtxOut[3].w() = 1.f;
postMtxOut[0].x() = 0.5f; // postMtxOut[0].x() = 0.5f;
postMtxOut[1].y() = 0.5f; // postMtxOut[1].y() = 0.5f;
postMtxOut[3].x() = 0.5f; // postMtxOut[3].x() = 0.5f;
postMtxOut[3].y() = 0.5f; // postMtxOut[3].y() = 0.5f;
break; // break;
} // }
case UVAnimType::Scroll: { // case UVAnimType::Scroll: {
texMtxOut[3].x() = CGraphics::GetSecondsMod900() * anim.uvAnimParms[2] + anim.uvAnimParms[0]; // texMtxOut[3].x() = CGraphics::GetSecondsMod900() * anim.uvAnimParms[2] + anim.uvAnimParms[0];
texMtxOut[3].y() = CGraphics::GetSecondsMod900() * anim.uvAnimParms[3] + anim.uvAnimParms[1]; // texMtxOut[3].y() = CGraphics::GetSecondsMod900() * anim.uvAnimParms[3] + anim.uvAnimParms[1];
break; // break;
} // }
case UVAnimType::Rotation: { // case UVAnimType::Rotation: {
float angle = CGraphics::GetSecondsMod900() * anim.uvAnimParms[1] + anim.uvAnimParms[0]; // float angle = CGraphics::GetSecondsMod900() * anim.uvAnimParms[1] + anim.uvAnimParms[0];
float acos = std::cos(angle); // float acos = std::cos(angle);
float asin = std::sin(angle); // float asin = std::sin(angle);
texMtxOut[0].x() = acos; // texMtxOut[0].x() = acos;
texMtxOut[0].y() = asin; // texMtxOut[0].y() = asin;
texMtxOut[1].x() = -asin; // texMtxOut[1].x() = -asin;
texMtxOut[1].y() = acos; // texMtxOut[1].y() = acos;
texMtxOut[3].x() = (1.0f - (acos - asin)) * 0.5f; // texMtxOut[3].x() = (1.0f - (acos - asin)) * 0.5f;
texMtxOut[3].y() = (1.0f - (asin + acos)) * 0.5f; // texMtxOut[3].y() = (1.0f - (asin + acos)) * 0.5f;
break; // break;
} // }
case UVAnimType::HStrip: { // case UVAnimType::HStrip: {
float value = anim.uvAnimParms[0] * anim.uvAnimParms[2] * (anim.uvAnimParms[3] + CGraphics::GetSecondsMod900()); // float value = anim.uvAnimParms[0] * anim.uvAnimParms[2] * (anim.uvAnimParms[3] + CGraphics::GetSecondsMod900());
texMtxOut[3].x() = std::trunc(anim.uvAnimParms[1] * fmod(value, 1.0f)) * anim.uvAnimParms[2]; // texMtxOut[3].x() = std::trunc(anim.uvAnimParms[1] * fmod(value, 1.0f)) * anim.uvAnimParms[2];
break; // break;
} // }
case UVAnimType::VStrip: { // case UVAnimType::VStrip: {
float value = anim.uvAnimParms[0] * anim.uvAnimParms[2] * (anim.uvAnimParms[3] + CGraphics::GetSecondsMod900()); // float value = anim.uvAnimParms[0] * anim.uvAnimParms[2] * (anim.uvAnimParms[3] + CGraphics::GetSecondsMod900());
texMtxOut[3].y() = std::trunc(anim.uvAnimParms[1] * fmod(value, 1.0f)) * anim.uvAnimParms[2]; // texMtxOut[3].y() = std::trunc(anim.uvAnimParms[1] * fmod(value, 1.0f)) * anim.uvAnimParms[2];
break; // break;
} // }
case UVAnimType::Model: { // case UVAnimType::Model: {
texMtxOut = CGraphics::g_GXModelMatrix.toMatrix4f(); // texMtxOut = CGraphics::g_GXModelMatrix.toMatrix4f();
texMtxOut[3] = zeus::CVector4f(0.f, 0.f, 0.f, 1.f); // texMtxOut[3] = zeus::CVector4f(0.f, 0.f, 0.f, 1.f);
postMtxOut[0].x() = 0.5f; // postMtxOut[0].x() = 0.5f;
postMtxOut[1].y() = 0.f; // postMtxOut[1].y() = 0.f;
postMtxOut[2].y() = 0.5f; // postMtxOut[2].y() = 0.5f;
postMtxOut[3].x() = CGraphics::g_GXModelMatrix.origin.x() * 0.05f; // postMtxOut[3].x() = CGraphics::g_GXModelMatrix.origin.x() * 0.05f;
postMtxOut[3].y() = CGraphics::g_GXModelMatrix.origin.y() * 0.05f; // postMtxOut[3].y() = CGraphics::g_GXModelMatrix.origin.y() * 0.05f;
break; // break;
} // }
case UVAnimType::CylinderEnvironment: { // case UVAnimType::CylinderEnvironment: {
texMtxOut = CGraphics::g_GXModelViewInvXpose.toMatrix4f(); // texMtxOut = CGraphics::g_GXModelViewInvXpose.toMatrix4f();
//
const zeus::CVector3f& viewOrigin = CGraphics::g_ViewMatrix.origin; // const zeus::CVector3f& viewOrigin = CGraphics::g_ViewMatrix.origin;
float xy = (viewOrigin.x() + viewOrigin.y()) * 0.025f * anim.uvAnimParms[1]; // float xy = (viewOrigin.x() + viewOrigin.y()) * 0.025f * anim.uvAnimParms[1];
xy = (xy - std::trunc(xy)); // xy = (xy - std::trunc(xy));
float z = (viewOrigin.z()) * 0.05f * anim.uvAnimParms[1]; // float z = (viewOrigin.z()) * 0.05f * anim.uvAnimParms[1];
z = (z - std::trunc(z)); // z = (z - std::trunc(z));
//
float halfA = anim.uvAnimParms[0] * 0.5f; // float halfA = anim.uvAnimParms[0] * 0.5f;
//
postMtxOut = // postMtxOut =
zeus::CTransform(zeus::CMatrix3f(halfA, 0.0, 0.0, 0.0, 0.0, halfA, 0.0, 0.0, 0.0), zeus::CVector3f(xy, z, 1.0)) // zeus::CTransform(zeus::CMatrix3f(halfA, 0.0, 0.0, 0.0, 0.0, halfA, 0.0, 0.0, 0.0), zeus::CVector3f(xy, z, 1.0))
.toMatrix4f(); // .toMatrix4f();
break; // break;
} // }
default: // default:
break; // break;
} // }
bufOut += sizeof(zeus::CMatrix4f) * 2; // bufOut += sizeof(zeus::CMatrix4f) * 2;
} //}
//
void CBooModel::UVAnimationBuffer::PadOutBuffer(u8*& bufStart, u8*& bufOut) { //void CBooModel::UVAnimationBuffer::PadOutBuffer(u8*& bufStart, u8*& bufOut) {
bufOut = bufStart + ROUND_UP_256(bufOut - bufStart); // bufOut = bufStart + ROUND_UP_256(bufOut - bufStart);
} //}
//
void CBooModel::UVAnimationBuffer::Update(u8*& bufOut, const MaterialSet* matSet, const CModelFlags& flags, //void CBooModel::UVAnimationBuffer::Update(u8*& bufOut, const MaterialSet* matSet, const CModelFlags& flags,
const CBooModel* parent) { // const CBooModel* parent) {
u8* start = bufOut; // u8* start = bufOut;
//
if (flags.m_extendedShader == EExtendedShader::MorphBallShadow) { // if (flags.m_extendedShader == EExtendedShader::MorphBallShadow) {
/* Special matrices for MorphBall shadow rendering */ // /* Special matrices for MorphBall shadow rendering */
zeus::CMatrix4f texMtx = (zeus::CTransform::Scale(1.f / (flags.mbShadowBox.max - flags.mbShadowBox.min)) * // zeus::CMatrix4f texMtx = (zeus::CTransform::Scale(1.f / (flags.mbShadowBox.max - flags.mbShadowBox.min)) *
zeus::CTransform::Translate(-flags.mbShadowBox.min) * CGraphics::g_GXModelMatrix) // zeus::CTransform::Translate(-flags.mbShadowBox.min) * CGraphics::g_GXModelMatrix)
.toMatrix4f(); // .toMatrix4f();
for (const MaterialSet::Material& mat : matSet->materials) { // for (const MaterialSet::Material& mat : matSet->materials) {
(void)mat; // (void)mat;
std::array<zeus::CMatrix4f, 2>* mtxs = reinterpret_cast<std::array<zeus::CMatrix4f, 2>*>(bufOut); // std::array<zeus::CMatrix4f, 2>* mtxs = reinterpret_cast<std::array<zeus::CMatrix4f, 2>*>(bufOut);
mtxs[0][0] = texMtx; // mtxs[0][0] = texMtx;
mtxs[0][1] = MBShadowPost0; // mtxs[0][1] = MBShadowPost0;
mtxs[1][0] = texMtx; // mtxs[1][0] = texMtx;
mtxs[1][1] = MBShadowPost1; // mtxs[1][1] = MBShadowPost1;
bufOut += sizeof(zeus::CMatrix4f) * 2 * 8; // bufOut += sizeof(zeus::CMatrix4f) * 2 * 8;
PadOutBuffer(start, bufOut); // PadOutBuffer(start, bufOut);
} // }
return; // return;
} else if (flags.m_extendedShader == EExtendedShader::Disintegrate) { // } else if (flags.m_extendedShader == EExtendedShader::Disintegrate) {
assert(parent != nullptr && "Parent CBooModel not set"); // assert(parent != nullptr && "Parent CBooModel not set");
zeus::CTransform xf = zeus::CTransform::RotateX(-zeus::degToRad(45.f)); // zeus::CTransform xf = zeus::CTransform::RotateX(-zeus::degToRad(45.f));
zeus::CAABox aabb = parent->GetAABB().getTransformedAABox(xf); // zeus::CAABox aabb = parent->GetAABB().getTransformedAABox(xf);
xf = zeus::CTransform::Scale(5.f / (aabb.max - aabb.min)) * zeus::CTransform::Translate(-aabb.min) * xf; // xf = zeus::CTransform::Scale(5.f / (aabb.max - aabb.min)) * zeus::CTransform::Translate(-aabb.min) * xf;
zeus::CMatrix4f texMtx = xf.toMatrix4f(); // zeus::CMatrix4f texMtx = xf.toMatrix4f();
zeus::CMatrix4f post0 = DisintegratePost; // zeus::CMatrix4f post0 = DisintegratePost;
post0[3].x() = flags.addColor.a(); // post0[3].x() = flags.addColor.a();
post0[3].y() = 6.f * -(1.f - flags.addColor.a()) + 1.f; // post0[3].y() = 6.f * -(1.f - flags.addColor.a()) + 1.f;
zeus::CMatrix4f post1 = DisintegratePost; // zeus::CMatrix4f post1 = DisintegratePost;
post1[3].x() = -0.85f * flags.addColor.a() - 0.15f; // post1[3].x() = -0.85f * flags.addColor.a() - 0.15f;
post1[3].y() = float(post0[3].y()); // post1[3].y() = float(post0[3].y());
/* Special matrices for disintegration rendering */ // /* Special matrices for disintegration rendering */
for (const MaterialSet::Material& mat : matSet->materials) { // for (const MaterialSet::Material& mat : matSet->materials) {
(void)mat; // (void)mat;
std::array<zeus::CMatrix4f, 2>* mtxs = reinterpret_cast<std::array<zeus::CMatrix4f, 2>*>(bufOut); // std::array<zeus::CMatrix4f, 2>* mtxs = reinterpret_cast<std::array<zeus::CMatrix4f, 2>*>(bufOut);
mtxs[0][0] = texMtx; // mtxs[0][0] = texMtx;
mtxs[0][1] = post0; // mtxs[0][1] = post0;
mtxs[1][0] = texMtx; // mtxs[1][0] = texMtx;
mtxs[1][1] = post1; // mtxs[1][1] = post1;
bufOut += sizeof(zeus::CMatrix4f) * 2 * 8; // bufOut += sizeof(zeus::CMatrix4f) * 2 * 8;
PadOutBuffer(start, bufOut); // PadOutBuffer(start, bufOut);
} // }
return; // return;
} // }
//
std::optional<std::array<zeus::CMatrix4f, 2>> specialMtxOut; // std::optional<std::array<zeus::CMatrix4f, 2>> specialMtxOut;
if (flags.m_extendedShader == EExtendedShader::ThermalModel || // if (flags.m_extendedShader == EExtendedShader::ThermalModel ||
flags.m_extendedShader == EExtendedShader::ThermalModelNoZTestNoZWrite || // flags.m_extendedShader == EExtendedShader::ThermalModelNoZTestNoZWrite ||
flags.m_extendedShader == EExtendedShader::ThermalStatic || // flags.m_extendedShader == EExtendedShader::ThermalStatic ||
flags.m_extendedShader == EExtendedShader::ThermalStaticNoZWrite) { // flags.m_extendedShader == EExtendedShader::ThermalStaticNoZWrite) {
/* Special Mode0 matrix for exclusive Thermal Visor use */ // /* Special Mode0 matrix for exclusive Thermal Visor use */
specialMtxOut.emplace(); // specialMtxOut.emplace();
//
zeus::CMatrix4f& texMtxOut = (*specialMtxOut)[0]; // zeus::CMatrix4f& texMtxOut = (*specialMtxOut)[0];
texMtxOut = CGraphics::g_GXModelViewInvXpose.toMatrix4f(); // texMtxOut = CGraphics::g_GXModelViewInvXpose.toMatrix4f();
texMtxOut[3].zeroOut(); // texMtxOut[3].zeroOut();
texMtxOut[3].w() = 1.f; // texMtxOut[3].w() = 1.f;
//
zeus::CMatrix4f& postMtxOut = (*specialMtxOut)[1]; // zeus::CMatrix4f& postMtxOut = (*specialMtxOut)[1];
postMtxOut[0].x() = 0.5f; // postMtxOut[0].x() = 0.5f;
postMtxOut[1].y() = 0.5f; // postMtxOut[1].y() = 0.5f;
postMtxOut[3].x() = 0.5f; // postMtxOut[3].x() = 0.5f;
postMtxOut[3].y() = 0.5f; // postMtxOut[3].y() = 0.5f;
} else if (flags.m_extendedShader == EExtendedShader::WorldShadow || // } else if (flags.m_extendedShader == EExtendedShader::WorldShadow ||
flags.m_extendedShader == EExtendedShader::LightingCubeReflectionWorldShadow) { // flags.m_extendedShader == EExtendedShader::LightingCubeReflectionWorldShadow) {
/* Special matrix for mapping world shadow */ // /* Special matrix for mapping world shadow */
specialMtxOut.emplace(); // specialMtxOut.emplace();
//
zeus::CMatrix4f mat = g_shadowTexXf.toMatrix4f(); // zeus::CMatrix4f mat = g_shadowTexXf.toMatrix4f();
zeus::CMatrix4f& texMtxOut = (*specialMtxOut)[0]; // zeus::CMatrix4f& texMtxOut = (*specialMtxOut)[0];
texMtxOut[0][0] = float(mat[0][0]); // texMtxOut[0][0] = float(mat[0][0]);
texMtxOut[1][0] = float(mat[1][0]); // texMtxOut[1][0] = float(mat[1][0]);
texMtxOut[2][0] = float(mat[2][0]); // texMtxOut[2][0] = float(mat[2][0]);
texMtxOut[3][0] = float(mat[3][0]); // texMtxOut[3][0] = float(mat[3][0]);
texMtxOut[0][1] = float(mat[0][2]); // texMtxOut[0][1] = float(mat[0][2]);
texMtxOut[1][1] = float(mat[1][2]); // texMtxOut[1][1] = float(mat[1][2]);
texMtxOut[2][1] = float(mat[2][2]); // texMtxOut[2][1] = float(mat[2][2]);
texMtxOut[3][1] = float(mat[3][2]); // texMtxOut[3][1] = float(mat[3][2]);
} // }
//
for (const MaterialSet::Material& mat : matSet->materials) { // for (const MaterialSet::Material& mat : matSet->materials) {
if (specialMtxOut) { // if (specialMtxOut) {
std::array<zeus::CMatrix4f, 2>* mtxs = reinterpret_cast<std::array<zeus::CMatrix4f, 2>*>(bufOut); // std::array<zeus::CMatrix4f, 2>* mtxs = reinterpret_cast<std::array<zeus::CMatrix4f, 2>*>(bufOut);
mtxs[7][0] = (*specialMtxOut)[0]; // mtxs[7][0] = (*specialMtxOut)[0];
mtxs[7][1] = (*specialMtxOut)[1]; // mtxs[7][1] = (*specialMtxOut)[1];
} // }
u8* bufOrig = bufOut; // u8* bufOrig = bufOut;
for (const auto& chunk : mat.chunks) { // for (const auto& chunk : mat.chunks) {
if (const auto* const pass = chunk.get_if<MaterialSet::Material::PASS>()) { // if (const auto* const pass = chunk.get_if<MaterialSet::Material::PASS>()) {
ProcessAnimation(bufOut, *pass); // ProcessAnimation(bufOut, *pass);
} // }
} // }
bufOut = bufOrig + sizeof(zeus::CMatrix4f) * 2 * 8; // bufOut = bufOrig + sizeof(zeus::CMatrix4f) * 2 * 8;
PadOutBuffer(start, bufOut); // PadOutBuffer(start, bufOut);
} // }
} //}
//void GeometryUniformLayout::Update(const CModelFlags& flags, const CSkinRules* cskr, const CPoseAsTransforms* pose, //void GeometryUniformLayout::Update(const CModelFlags& flags, const CSkinRules* cskr, const CPoseAsTransforms* pose,
// const MaterialSet* matSet, const boo::ObjToken<boo::IGraphicsBufferD>& buf, // const MaterialSet* matSet, const boo::ObjToken<boo::IGraphicsBufferD>& buf,
@ -1176,16 +1176,16 @@ CModel::CModel(std::unique_ptr<u8[]>&& in, u32 /* dataLen */, IObjectStore* stor
const u32 matSetSz = CBasics::SwapBytes(*secSizeCur); const u32 matSetSz = CBasics::SwapBytes(*secSizeCur);
const u8* sec = MemoryFromPartData(dataCur, secSizeCur); const u8* sec = MemoryFromPartData(dataCur, secSizeCur);
SShader& shader = x18_matSets.emplace_back(i); SShader& shader = x18_matSets.emplace_back(i);
athena::io::MemoryReader r(sec, matSetSz); // athena::io::MemoryReader r(sec, matSetSz);
shader.m_matSet.read(r); // shader.m_matSet.read(r);
CBooModel::MakeTexturesFromMats(shader.m_matSet, shader.x0_textures, *store); // CBooModel::MakeTexturesFromMats(shader.m_matSet, shader.x0_textures, *store);
} }
{ {
u32 hmdlSz = CBasics::SwapBytes(*secSizeCur); u32 hmdlSz = CBasics::SwapBytes(*secSizeCur);
const u8* hmdlMetadata = MemoryFromPartData(dataCur, secSizeCur); const u8* hmdlMetadata = MemoryFromPartData(dataCur, secSizeCur);
athena::io::MemoryReader r(hmdlMetadata, hmdlSz); // athena::io::MemoryReader r(hmdlMetadata, hmdlSz);
m_hmdlMeta.read(r); // m_hmdlMeta.read(r);
} }
const u8* vboData = MemoryFromPartData(dataCur, secSizeCur); const u8* vboData = MemoryFromPartData(dataCur, secSizeCur);
@ -1225,8 +1225,8 @@ CModel::CModel(std::unique_ptr<u8[]>&& in, u32 /* dataLen */, IObjectStore* stor
const u8* sec = MemoryFromPartData(dataCur, secSizeCur); const u8* sec = MemoryFromPartData(dataCur, secSizeCur);
CBooSurface& surf = x8_surfaces.emplace_back(); CBooSurface& surf = x8_surfaces.emplace_back();
surf.selfIdx = i; surf.selfIdx = i;
athena::io::MemoryReader r(sec, surfSz); // athena::io::MemoryReader r(sec, surfSz);
surf.m_data.read(r); // surf.m_data.read(r);
} }
const float* aabbPtr = reinterpret_cast<const float*>(data.get() + 0xc); const float* aabbPtr = reinterpret_cast<const float*>(data.get() + 0xc);
@ -1270,14 +1270,20 @@ bool CModel::IsLoaded(int shaderIdx) const {
return x28_modelInst->TryLockTextures(); return x28_modelInst->TryLockTextures();
} }
size_t CModel::GetPoolVertexOffset(size_t idx) const { return m_hmdlMeta.vertStride * idx; } size_t CModel::GetPoolVertexOffset(size_t idx) const {
// return m_hmdlMeta.vertStride * idx;
return 0;
}
zeus::CVector3f CModel::GetPoolVertex(size_t idx) const { zeus::CVector3f CModel::GetPoolVertex(size_t idx) const {
const auto* floats = reinterpret_cast<const float*>(m_dynamicVertexData.get() + GetPoolVertexOffset(idx)); const auto* floats = reinterpret_cast<const float*>(m_dynamicVertexData.get() + GetPoolVertexOffset(idx));
return {floats}; return {floats};
} }
size_t CModel::GetPoolNormalOffset(size_t idx) const { return m_hmdlMeta.vertStride * idx + 12; } size_t CModel::GetPoolNormalOffset(size_t idx) const {
// return m_hmdlMeta.vertStride * idx + 12;
return 0;
}
zeus::CVector3f CModel::GetPoolNormal(size_t idx) const { zeus::CVector3f CModel::GetPoolNormal(size_t idx) const {
const auto* floats = reinterpret_cast<const float*>(m_dynamicVertexData.get() + GetPoolNormalOffset(idx)); const auto* floats = reinterpret_cast<const float*>(m_dynamicVertexData.get() + GetPoolNormalOffset(idx));

View File

@ -9,6 +9,8 @@
#include "Runtime/GameGlobalObjects.hpp" #include "Runtime/GameGlobalObjects.hpp"
#include "Runtime/Graphics/CGraphics.hpp" #include "Runtime/Graphics/CGraphics.hpp"
#include <logvisor/logvisor.hpp>
namespace metaforce { namespace metaforce {
namespace { namespace {
logvisor::Module Log("metaforce::CTextureBoo"); logvisor::Module Log("metaforce::CTextureBoo");

296
Runtime/Graphics/GX.hpp Normal file
View File

@ -0,0 +1,296 @@
#pragma once
#include <cstdint>
namespace GX {
enum AttrType { NONE, DIRECT, INDEX8, INDEX16 };
enum TevColorArg {
CC_CPREV = 0,
CC_APREV = 1,
CC_C0 = 2,
CC_A0 = 3,
CC_C1 = 4,
CC_A1 = 5,
CC_C2 = 6,
CC_A2 = 7,
CC_TEXC = 8,
CC_TEXA = 9,
CC_RASC = 10,
CC_RASA = 11,
CC_ONE = 12,
CC_HALF = 13,
CC_KONST = 14,
CC_ZERO = 15,
};
enum TevAlphaArg {
CA_APREV = 0,
CA_A0 = 1,
CA_A1 = 2,
CA_A2 = 3,
CA_TEXA = 4,
CA_RASA = 5,
CA_KONST = 6,
CA_ZERO = 7,
};
enum TevKColorSel {
TEV_KCSEL_8_8 = 0x00,
TEV_KCSEL_7_8 = 0x01,
TEV_KCSEL_6_8 = 0x02,
TEV_KCSEL_5_8 = 0x03,
TEV_KCSEL_4_8 = 0x04,
TEV_KCSEL_3_8 = 0x05,
TEV_KCSEL_2_8 = 0x06,
TEV_KCSEL_1_8 = 0x07,
TEV_KCSEL_1 = TEV_KCSEL_8_8,
TEV_KCSEL_3_4 = TEV_KCSEL_6_8,
TEV_KCSEL_1_2 = TEV_KCSEL_4_8,
TEV_KCSEL_1_4 = TEV_KCSEL_2_8,
TEV_KCSEL_K0 = 0x0C,
TEV_KCSEL_K1 = 0x0D,
TEV_KCSEL_K2 = 0x0E,
TEV_KCSEL_K3 = 0x0F,
TEV_KCSEL_K0_R = 0x10,
TEV_KCSEL_K1_R = 0x11,
TEV_KCSEL_K2_R = 0x12,
TEV_KCSEL_K3_R = 0x13,
TEV_KCSEL_K0_G = 0x14,
TEV_KCSEL_K1_G = 0x15,
TEV_KCSEL_K2_G = 0x16,
TEV_KCSEL_K3_G = 0x17,
TEV_KCSEL_K0_B = 0x18,
TEV_KCSEL_K1_B = 0x19,
TEV_KCSEL_K2_B = 0x1A,
TEV_KCSEL_K3_B = 0x1B,
TEV_KCSEL_K0_A = 0x1C,
TEV_KCSEL_K1_A = 0x1D,
TEV_KCSEL_K2_A = 0x1E,
TEV_KCSEL_K3_A = 0x1F
};
enum TevKAlphaSel {
TEV_KASEL_8_8 = 0x00,
TEV_KASEL_7_8 = 0x01,
TEV_KASEL_6_8 = 0x02,
TEV_KASEL_5_8 = 0x03,
TEV_KASEL_4_8 = 0x04,
TEV_KASEL_3_8 = 0x05,
TEV_KASEL_2_8 = 0x06,
TEV_KASEL_1_8 = 0x07,
TEV_KASEL_1 = TEV_KASEL_8_8,
TEV_KASEL_3_4 = TEV_KASEL_6_8,
TEV_KASEL_1_2 = TEV_KASEL_4_8,
TEV_KASEL_1_4 = TEV_KASEL_2_8,
TEV_KASEL_K0_R = 0x10,
TEV_KASEL_K1_R = 0x11,
TEV_KASEL_K2_R = 0x12,
TEV_KASEL_K3_R = 0x13,
TEV_KASEL_K0_G = 0x14,
TEV_KASEL_K1_G = 0x15,
TEV_KASEL_K2_G = 0x16,
TEV_KASEL_K3_G = 0x17,
TEV_KASEL_K0_B = 0x18,
TEV_KASEL_K1_B = 0x19,
TEV_KASEL_K2_B = 0x1A,
TEV_KASEL_K3_B = 0x1B,
TEV_KASEL_K0_A = 0x1C,
TEV_KASEL_K1_A = 0x1D,
TEV_KASEL_K2_A = 0x1E,
TEV_KASEL_K3_A = 0x1F
};
enum TevOp {
TEV_ADD = 0,
TEV_SUB = 1,
TEV_COMP_R8_GT = 8,
TEV_COMP_R8_EQ = 9,
TEV_COMP_GR16_GT = 10,
TEV_COMP_GR16_EQ = 11,
TEV_COMP_BGR24_GT = 12,
TEV_COMP_BGR24_EQ = 13,
TEV_COMP_RGB8_GT = 14,
TEV_COMP_RGB8_EQ = 15,
TEV_COMP_A8_GT = TEV_COMP_RGB8_GT,
TEV_COMP_A8_EQ = TEV_COMP_RGB8_EQ
};
enum TevBias {
TB_ZERO = 0,
TB_ADDHALF = 1,
TB_SUBHALF = 2,
};
enum TevScale { CS_SCALE_1 = 0, CS_SCALE_2 = 1, CS_SCALE_4 = 2, CS_DIVIDE_2 = 3 };
enum TexGenType {
TG_MTX3x4 = 0,
TG_MTX2x4,
TG_BUMP0,
TG_BUMP1,
TG_BUMP2,
TG_BUMP3,
TG_BUMP4,
TG_BUMP5,
TG_BUMP6,
TG_BUMP7,
TG_SRTG
};
enum TexGenSrc {
TG_POS = 0,
TG_NRM,
TG_BINRM,
TG_TANGENT,
TG_TEX0,
TG_TEX1,
TG_TEX2,
TG_TEX3,
TG_TEX4,
TG_TEX5,
TG_TEX6,
TG_TEX7,
TG_TEXCOORD0,
TG_TEXCOORD1,
TG_TEXCOORD2,
TG_TEXCOORD3,
TG_TEXCOORD4,
TG_TEXCOORD5,
TG_TEXCOORD6,
TG_COLOR0,
TG_COLOR1
};
enum TexMtx {
TEXMTX0 = 30,
TEXMTX1 = 33,
TEXMTX2 = 36,
TEXMTX3 = 39,
TEXMTX4 = 42,
TEXMTX5 = 45,
TEXMTX6 = 48,
TEXMTX7 = 51,
TEXMTX8 = 54,
TEXMTX9 = 57,
IDENTITY = 60
};
enum PTTexMtx {
PTTEXMTX0 = 64,
PTTEXMTX1 = 67,
PTTEXMTX2 = 70,
PTTEXMTX3 = 73,
PTTEXMTX4 = 76,
PTTEXMTX5 = 79,
PTTEXMTX6 = 82,
PTTEXMTX7 = 85,
PTTEXMTX8 = 88,
PTTEXMTX9 = 91,
PTTEXMTX10 = 94,
PTTEXMTX11 = 97,
PTTEXMTX12 = 100,
PTTEXMTX13 = 103,
PTTEXMTX14 = 106,
PTTEXMTX15 = 109,
PTTEXMTX16 = 112,
PTTEXMTX17 = 115,
PTTEXMTX18 = 118,
PTTEXMTX19 = 121,
PTIDENTITY = 125
};
enum TevRegID { TEVPREV = 0, TEVREG0 = 1, TEVREG1 = 2, TEVREG2 = 3, TEVLAZY = 5 };
enum DiffuseFn { DF_NONE = 0, DF_SIGN, DF_CLAMP };
enum AttnFn { AF_SPEC = 0, AF_SPOT = 1, AF_NONE };
enum Primitive {
POINTS = 0xb8,
LINES = 0xa8,
LINESTRIP = 0xb0,
TRIANGLES = 0x90,
TRIANGLESTRIP = 0x98,
TRIANGLEFAN = 0xa0,
QUADS = 0x80
};
enum ChannelID {
GX_COLOR0,
GX_COLOR1,
GX_ALPHA0,
GX_ALPHA1,
GX_COLOR0A0,
GX_COLOR1A1,
GX_COLOR_ZERO,
GX_ALPHA_BUMP,
GX_ALPHA_BUMPN,
GX_COLOR_NULL = 0xff
};
enum BlendFactor : uint16_t {
BL_ZERO,
BL_ONE,
BL_SRCCLR,
BL_INVSRCCLR,
BL_SRCALPHA,
BL_INVSRCALPHA,
BL_DSTALPHA,
BL_INVDSTALPHA
};
//struct Color : athena::io::DNA<athena::Endian::Big> {
// union {
// uint8_t color[4];
// uint32_t num = 0;
// };
// Color() = default;
// Color& operator=(const atVec4f& vec) {
// athena::simd_floats f(vec.simd);
// color[0] = uint8_t(std::min(std::max(f[0] * 255.f, 0.f), 255.f));
// color[1] = uint8_t(std::min(std::max(f[1] * 255.f, 0.f), 255.f));
// color[2] = uint8_t(std::min(std::max(f[2] * 255.f, 0.f), 255.f));
// color[3] = uint8_t(std::min(std::max(f[3] * 255.f, 0.f), 255.f));
// return *this;
// }
// Color& operator=(const atVec3f& vec) {
// athena::simd_floats f(vec.simd);
// color[0] = uint8_t(std::min(std::max(f[0] * 255.f, 0.f), 255.f));
// color[1] = uint8_t(std::min(std::max(f[1] * 255.f, 0.f), 255.f));
// color[2] = uint8_t(std::min(std::max(f[2] * 255.f, 0.f), 255.f));
// color[3] = 0xff;
// return *this;
// }
// Color& operator=(uint8_t val) {
// color[0] = val;
// color[1] = val;
// color[2] = val;
// color[3] = val;
// return *this;
// }
// atVec4f toVec4f() const {
// atVec4f out;
// athena::simd_floats f;
// f[0] = color[0] / 255.f;
// f[1] = color[1] / 255.f;
// f[2] = color[2] / 255.f;
// f[3] = color[3] / 255.f;
// out.simd.copy_from(f);
// return out;
// }
// Color(const atVec4f& vec) { *this = vec; }
// Color(const atVec3f& vec) { *this = vec; }
// Color(uint8_t val) { *this = val; }
// bool operator==(const Color& other) const { return num == other.num; }
// bool operator!=(const Color& other) const { return num != other.num; }
// uint8_t operator[](size_t idx) const { return color[idx]; }
// uint8_t& operator[](size_t idx) { return color[idx]; }
// AT_DECL_EXPLICIT_DNA
//};
} // namespace GX

View File

@ -3,7 +3,7 @@
#include "Runtime/CStopwatch.hpp" #include "Runtime/CStopwatch.hpp"
#include "Runtime/Graphics/CLight.hpp" #include "Runtime/Graphics/CLight.hpp"
#include <hecl/Backend.hpp> //#include <hecl/Backend.hpp>
//#include <hecl/Pipeline.hpp> //#include <hecl/Pipeline.hpp>
namespace metaforce { namespace metaforce {
@ -59,26 +59,26 @@ void CModelShaders::LightingUniform::ActivateLights(const std::vector<CLight>& l
} }
} }
using TexCoordSource = hecl::Backend::TexCoordSource; //using TexCoordSource = hecl::Backend::TexCoordSource;
//
constexpr std::array<hecl::Backend::TextureInfo, 1> ThermalTextures{{ //constexpr std::array<hecl::Backend::TextureInfo, 1> ThermalTextures{{
{TexCoordSource::Normal, 7, true}, // {TexCoordSource::Normal, 7, true},
}}; //}};
//
constexpr std::array<hecl::Backend::TextureInfo, 3> BallFadeTextures{{ //constexpr std::array<hecl::Backend::TextureInfo, 3> BallFadeTextures{{
{TexCoordSource::Position, 0, false}, // ID tex // {TexCoordSource::Position, 0, false}, // ID tex
{TexCoordSource::Position, 0, false}, // Sphere ramp // {TexCoordSource::Position, 0, false}, // Sphere ramp
{TexCoordSource::Position, 1, false}, // TXTR_BallFade // {TexCoordSource::Position, 1, false}, // TXTR_BallFade
}}; //}};
//
constexpr std::array<hecl::Backend::TextureInfo, 1> WorldShadowTextures{{ //constexpr std::array<hecl::Backend::TextureInfo, 1> WorldShadowTextures{{
{TexCoordSource::Position, 7, false}, // Shadow tex // {TexCoordSource::Position, 7, false}, // Shadow tex
}}; //}};
//
constexpr std::array<hecl::Backend::TextureInfo, 2> DisintegrateTextures{{ //constexpr std::array<hecl::Backend::TextureInfo, 2> DisintegrateTextures{{
{TexCoordSource::Position, 0, false}, // Ashy tex // {TexCoordSource::Position, 0, false}, // Ashy tex
{TexCoordSource::Position, 1, false}, // Ashy tex // {TexCoordSource::Position, 1, false}, // Ashy tex
}}; //}};
//static std::array<hecl::Backend::ExtensionSlot, size_t(EExtendedShader::MAX)> g_ExtensionSlots{{ //static std::array<hecl::Backend::ExtensionSlot, size_t(EExtendedShader::MAX)> g_ExtensionSlots{{
// /* Default solid shading */ // /* Default solid shading */

View File

@ -8,8 +8,6 @@
#include "Runtime/Streams/IOStreams.hpp" #include "Runtime/Streams/IOStreams.hpp"
#include "Runtime/GuiSys/CSaveableState.hpp" #include "Runtime/GuiSys/CSaveableState.hpp"
#include <hecl/hecl.hpp>
namespace metaforce { namespace metaforce {
class CGuiFrame; class CGuiFrame;
class CGuiObject; class CGuiObject;

View File

@ -10,6 +10,7 @@
#include "Runtime/GuiSys/CRasterFont.hpp" #include "Runtime/GuiSys/CRasterFont.hpp"
#include "Runtime/GuiSys/CTextExecuteBuffer.hpp" #include "Runtime/GuiSys/CTextExecuteBuffer.hpp"
#include "Runtime/GuiSys/CTextParser.hpp" #include "Runtime/GuiSys/CTextParser.hpp"
#include "Runtime/CStringExtras.hpp"
namespace metaforce { namespace metaforce {
@ -271,7 +272,9 @@ void CGuiTextSupport::SetText(std::u16string_view str, bool multipage) {
x304_pageCounter = 0; x304_pageCounter = 0;
} }
void CGuiTextSupport::SetText(std::string_view str, bool multipage) { SetText(hecl::UTF8ToChar16(str), multipage); } void CGuiTextSupport::SetText(std::string_view str, bool multipage) {
SetText(CStringExtras::ConvertToUNICODE(str), multipage);
}
bool CGuiTextSupport::_GetIsTextSupportFinishedLoading() { bool CGuiTextSupport::_GetIsTextSupportFinishedLoading() {
for (CToken& tok : x2bc_assets) { for (CToken& tok : x2bc_assets) {

View File

@ -54,7 +54,7 @@ std::string ImGuiLoadStringTable(CAssetId stringId, int idx) {
if (!stringTables.contains(stringId)) { if (!stringTables.contains(stringId)) {
stringTables[stringId] = g_SimplePool->GetObj(SObjectTag{SBIG('STRG'), stringId}); stringTables[stringId] = g_SimplePool->GetObj(SObjectTag{SBIG('STRG'), stringId});
} }
return hecl::Char16ToUTF8(stringTables[stringId].GetObj()->GetString(idx)); return CStringExtras::ConvertToUTF8(stringTables[stringId].GetObj()->GetString(idx));
} }
static bool ContainsCaseInsensitive(std::string_view str, std::string_view val) { static bool ContainsCaseInsensitive(std::string_view str, std::string_view val) {

View File

@ -2,8 +2,6 @@
#include <array> #include <array>
#include "DataSpec/DNACommon/Tweaks/ITweakPlayerControl.hpp"
#include "Runtime/GameGlobalObjects.hpp" #include "Runtime/GameGlobalObjects.hpp"
#include "Runtime/RetroTypes.hpp" #include "Runtime/RetroTypes.hpp"
#include "Runtime/Input/CFinalInput.hpp" #include "Runtime/Input/CFinalInput.hpp"

View File

@ -64,11 +64,11 @@
#include "Runtime/World/CStateMachine.hpp" #include "Runtime/World/CStateMachine.hpp"
#include "Runtime/World/CScriptMazeNode.hpp" #include "Runtime/World/CScriptMazeNode.hpp"
#include <DataSpec/DNAMP1/SFX/Misc.h> #include "Audio/SFX/Misc.h"
#include <DataSpec/DNAMP1/SFX/MiscSamus.h> #include "Audio/SFX/MiscSamus.h"
#include <DataSpec/DNAMP1/SFX/UI.h> #include "Audio/SFX/UI.h"
#include <DataSpec/DNAMP1/SFX/Weapons.h> #include "Audio/SFX/Weapons.h"
#include <DataSpec/DNAMP1/SFX/ZZZ.h> #include "Audio/SFX/ZZZ.h"
#include "Runtime/MP1/CCredits.hpp" #include "Runtime/MP1/CCredits.hpp"
@ -619,11 +619,11 @@ void CMain::Init(const FileStoreManager& storeMgr, CVarManager* cvarMgr,
const char* areaIdxStr = (*(it + 2)).c_str(); const char* areaIdxStr = (*(it + 2)).c_str();
char* endptr = nullptr; char* endptr = nullptr;
m_warpWorldIdx = TAreaId(hecl::StrToUl(worldIdxStr, &endptr, 0)); m_warpWorldIdx = TAreaId(strtoul(worldIdxStr, &endptr, 0));
if (endptr == worldIdxStr) { if (endptr == worldIdxStr) {
m_warpWorldIdx = 0; m_warpWorldIdx = 0;
} }
m_warpAreaId = TAreaId(hecl::StrToUl(areaIdxStr, &endptr, 0)); m_warpAreaId = TAreaId(strtoul(areaIdxStr, &endptr, 0));
if (endptr == areaIdxStr) { if (endptr == areaIdxStr) {
m_warpAreaId = 0; m_warpAreaId = 0;
} }
@ -649,7 +649,7 @@ void CMain::Init(const FileStoreManager& storeMgr, CVarManager* cvarMgr,
if (*cur == '1') if (*cur == '1')
m_warpLayerBits |= u64(1) << (cur - layerStr); m_warpLayerBits |= u64(1) << (cur - layerStr);
} else if (layerStr[0] == '0' && layerStr[1] == 'x') { } else if (layerStr[0] == '0' && layerStr[1] == 'x') {
m_warpMemoryRelays.emplace_back(TAreaId(hecl::StrToUl(layerStr + 2, nullptr, 16))); m_warpMemoryRelays.emplace_back(TAreaId(strtoul(layerStr + 2, nullptr, 16)));
} }
++it; ++it;
} }

View File

@ -17,7 +17,7 @@
#include "Runtime/World/CTeamAiMgr.hpp" #include "Runtime/World/CTeamAiMgr.hpp"
#include "Runtime/World/CWorld.hpp" #include "Runtime/World/CWorld.hpp"
#include "DataSpec/DNAMP1/SFX/Drones.h" #include "Audio/SFX/Drones.h"
#include "TCastTo.hpp" // Generated file, do not modify include path #include "TCastTo.hpp" // Generated file, do not modify include path

View File

@ -1,6 +1,6 @@
#pragma once #pragma once
#include "DataSpec/DNAMP1/SFX/Metaree.h" #include "Audio/SFX/Metaree.h"
#include "Runtime/World/CDamageInfo.hpp" #include "Runtime/World/CDamageInfo.hpp"
#include "Runtime/World/CPatterned.hpp" #include "Runtime/World/CPatterned.hpp"

Some files were not shown because too many files have changed in this diff Show More