mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-23 15:52:42 +02:00
Everybody loves a good yearly or so update
This commit is contained in:
1 parent
d8465c99b6
commit
dae8a90ff6
370 files changed
+35649
-39627
No files matched your search
+1
-2
@@ -124,7 +124,6 @@ Cpp11BracedListStyle: true
|
||||
|
||||
# use specified line ending and pointer allignment
|
||||
DeriveLineEnding: false
|
||||
DerivePointerAlignment: false
|
||||
|
||||
DisableFormat: false
|
||||
|
||||
@@ -156,7 +155,7 @@ IndentCaseBlocks: false
|
||||
IndentCaseLabels: true
|
||||
IndentExternBlock: AfterExternBlock
|
||||
IndentGotoLabels: false
|
||||
IndentPPDirectives: AfterHash
|
||||
IndentPPDirectives: BeforeHash
|
||||
IndentWrappedFunctionNames: true
|
||||
|
||||
# remove empty lines
|
||||
|
||||
@@ -21,6 +21,13 @@ jobs:
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Bypass Cloudflare for GitHub Action
|
||||
uses: xiaotianxt/bypass-cloudflare-for-github-action@v1.1.1
|
||||
with:
|
||||
cf_zone_id: ${{ secrets.CF_ZONE_ID }}
|
||||
cf_api_token: ${{ secrets.CF_API_TOKEN }}
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install Depedencies
|
||||
@@ -48,13 +55,13 @@ jobs:
|
||||
run: wget -O baserom.e.z64 $FILE_EU
|
||||
|
||||
- name: Extract US Assets
|
||||
run: ./extract_baserom.u.sh
|
||||
run: ./scripts/extract_baserom.u.sh
|
||||
|
||||
- name: Extract EU Assets
|
||||
run: ./extract_diff.e.sh
|
||||
run: ./scripts/extract_diff.e.sh
|
||||
|
||||
- name: Make EU
|
||||
run: make -j IDO_RECOMP=YES VERSION=EU VERBOSE=1
|
||||
run: make all -j IDO_RECOMP=YES VERSION=EU VERBOSE=1
|
||||
|
||||
- name: Make report
|
||||
run: make -C tools/report
|
||||
@@ -64,7 +71,7 @@ jobs:
|
||||
|
||||
- name: Upload output files
|
||||
|
||||
uses: dmnemec/copy_file_to_another_repo_action@v1.0.4
|
||||
uses: AXDOOMER/copy_file_to_another_repo_action@e54ae5087212906dac7ef96dee19e31190913257
|
||||
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
@@ -75,7 +82,6 @@ jobs:
|
||||
destination_repo: 'kholdfuzion/goldeneyestatus'
|
||||
user_email: $API_TOKEN_EMAIL
|
||||
user_name: $API_TOKEN_USER
|
||||
source_file: |
|
||||
tools/report/EU.htm
|
||||
source_file: tools/report/EU.htm
|
||||
|
||||
#need way of telling report that EU passed/failed
|
||||
@@ -21,6 +21,13 @@ jobs:
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Bypass Cloudflare for GitHub Action
|
||||
uses: xiaotianxt/bypass-cloudflare-for-github-action@v1.1.1
|
||||
with:
|
||||
cf_zone_id: ${{ secrets.CF_ZONE_ID }}
|
||||
cf_api_token: ${{ secrets.CF_API_TOKEN }}
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install Depedencies
|
||||
@@ -48,13 +55,13 @@ jobs:
|
||||
run: wget -O baserom.j.z64 $FILE_JP
|
||||
|
||||
- name: Extract US Assets
|
||||
run: ./extract_baserom.u.sh
|
||||
run: ./scripts/extract_baserom.u.sh
|
||||
|
||||
- name: Extract JP Assets
|
||||
run: ./extract_diff.j.sh
|
||||
run: ./scripts/extract_diff.j.sh
|
||||
|
||||
- name: Make JP
|
||||
run: make -j IDO_RECOMP=YES VERSION=JP VERBOSE=1
|
||||
run: make all -j IDO_RECOMP=YES VERSION=JP VERBOSE=1
|
||||
|
||||
- name: Make report
|
||||
run: make -C tools/report
|
||||
@@ -64,7 +71,7 @@ jobs:
|
||||
|
||||
- name: Upload output files
|
||||
|
||||
uses: dmnemec/copy_file_to_another_repo_action@v1.0.4
|
||||
uses: AXDOOMER/copy_file_to_another_repo_action@e54ae5087212906dac7ef96dee19e31190913257
|
||||
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
@@ -75,7 +82,6 @@ jobs:
|
||||
destination_repo: 'kholdfuzion/goldeneyestatus'
|
||||
user_email: $API_TOKEN_EMAIL
|
||||
user_name: $API_TOKEN_USER
|
||||
source_file: |
|
||||
tools/report/JPN.htm
|
||||
source_file: tools/report/JPN.htm
|
||||
|
||||
#need way of telling report that JP passed/failed
|
||||
@@ -33,10 +33,15 @@ jobs:
|
||||
echo "::set-output name=all::$(git diff --name-only --diff-filter=ACMRT ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | xargs)"
|
||||
|
||||
buildus:
|
||||
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Bypass Cloudflare for GitHub Action
|
||||
uses: xiaotianxt/bypass-cloudflare-for-github-action@v1.1.1
|
||||
with:
|
||||
cf_zone_id: ${{ secrets.CF_ZONE_ID }}
|
||||
cf_api_token: ${{ secrets.CF_API_TOKEN }}
|
||||
- uses: actions/checkout@v2
|
||||
# with:
|
||||
# fetch-depth: 2
|
||||
@@ -69,10 +74,10 @@ jobs:
|
||||
|
||||
- name: Extract US Assets
|
||||
#if: steps.cache-assets.outputs.cache-hit != 'true'
|
||||
run: ./extract_baserom.u.sh
|
||||
run: ./scripts/extract_baserom.u.sh
|
||||
|
||||
- name: Make US
|
||||
run: make -j IDO_RECOMP=YES VERSION=US VERBOSE=1
|
||||
run: make all -j IDO_RECOMP=YES VERSION=US VERBOSE=1
|
||||
|
||||
- name: Make report
|
||||
run: make -C tools/report
|
||||
@@ -105,7 +110,7 @@ jobs:
|
||||
# path: tools/report/index.html
|
||||
- name: Upload output files
|
||||
|
||||
uses: dmnemec/copy_file_to_another_repo_action@v1.0.4
|
||||
uses: AXDOOMER/copy_file_to_another_repo_action@e54ae5087212906dac7ef96dee19e31190913257
|
||||
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
|
||||
@@ -107,3 +107,6 @@ assets/obseg/em/data/pssst.seg
|
||||
assets/obseg/em/data/sabre.seg
|
||||
assets/obseg/em/data/spec_rom.seg
|
||||
assets/obseg/em/data/under.seg
|
||||
|
||||
scripts/local/
|
||||
scripts/make/local/
|
||||
+47
-13
@@ -5,19 +5,31 @@
|
||||
"configurationType": "Debug",
|
||||
"generator": "Unix Makefiles",
|
||||
"compilerPath": "",
|
||||
"compilerSwitches": "-Wab,-r4300_mul -non_shared -Olimit 2000 -G 0 -Xcpluscomm -mips2 -32",
|
||||
"cStandard": "c89",
|
||||
"includePath": [ /*INCLUDE := -I . -I include -I include/ultra64 -I include/PR -I src -I src/game -I src/inflate*/
|
||||
"includePath": [
|
||||
"\\\\wsl.localhost\\Ubuntu\\usr\\include"
|
||||
/*INCLUDE := -I . -I include -I include/ultra64 -I include/PR -I src -I src/game -I src/inflate*/,
|
||||
"${workspaceRoot}",
|
||||
"${workspaceRoot}\\include",
|
||||
"${workspaceRoot}\\src",
|
||||
"${workspaceRoot}\\src\\game",
|
||||
"${workspaceRoot}\\src\\inflate"
|
||||
],
|
||||
"intelliSenseMode": "linux-gcc-x86",
|
||||
"defines": [
|
||||
"DEBUG",
|
||||
"TRI4_Ext",
|
||||
"VERSION_US",
|
||||
"TARGET_N64", /* IDO 5.3 Defs below */
|
||||
"TARGET_N64",
|
||||
"OUTCODE=u",
|
||||
"LANG_US",
|
||||
"REFRESH_NTSC",
|
||||
"LEFTOVERDEBUG",
|
||||
"LEFTOVERSPECTRUM",
|
||||
"BUGFIX_R0",
|
||||
"BYTEMATCH"
|
||||
/* IDO 5.3 Defs below */,
|
||||
"_MIPS_FPSET=16",
|
||||
"_MIPS_ISA=2",
|
||||
"_ABIO32=1",
|
||||
@@ -48,7 +60,9 @@
|
||||
"MIPSEB",
|
||||
"__STDC__=1"
|
||||
],
|
||||
"undefines": [ "__cplusplus" ]
|
||||
"undefines": [
|
||||
"__cplusplus"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "MIPS2-FINAL US",
|
||||
@@ -56,17 +70,26 @@
|
||||
"generator": "Unix Makefiles",
|
||||
"cStandard": "c89",
|
||||
"includePath": [
|
||||
"\\\\wsl.localhost\\Ubuntu\\usr\\include",
|
||||
"${workspaceRoot}",
|
||||
"${workspaceRoot}\\include",
|
||||
"${workspaceRoot}\\src",
|
||||
"${workspaceRoot}\\src\\game",
|
||||
"${workspaceRoot}\\src\\inflate"
|
||||
],
|
||||
"intelliSenseMode": "linux-gcc-x86",
|
||||
"defines": [
|
||||
"TRI4_Ext",
|
||||
"VERSION_US",
|
||||
"TARGET_N64", /* IDO 5.3 Defs below */
|
||||
|
||||
"TARGET_N64",
|
||||
"OUTCODE=u",
|
||||
"LANG_US",
|
||||
"REFRESH_NTSC",
|
||||
"LEFTOVERDEBUG",
|
||||
"LEFTOVERSPECTRUM",
|
||||
"BUGFIX_R0",
|
||||
"BYTEMATCH"
|
||||
/* IDO 5.3 Defs below */,
|
||||
"_MIPS_FPSET=16",
|
||||
"_MIPS_ISA=2",
|
||||
"_ABIO32=1",
|
||||
@@ -97,26 +120,31 @@
|
||||
"MIPSEB",
|
||||
"__STDC__=1"
|
||||
],
|
||||
"undefines": [ "__cplusplus" ]
|
||||
"undefines": [
|
||||
"__cplusplus"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "LibUltra-Debug",
|
||||
"configurationType": "Release",
|
||||
"generator": "Unix Makefiles",
|
||||
"cStandard": "c89",
|
||||
"includePath": [/*include -I include/PR -I src/libultra*/
|
||||
"includePath": [
|
||||
"\\\\wsl.localhost\\Ubuntu\\usr\\include"
|
||||
/*include -I include/PR -I src/libultra*/,
|
||||
"${workspaceRoot}",
|
||||
"${workspaceRoot}\\include",
|
||||
"${workspaceRoot}\\include\\PR",
|
||||
"${workspaceRoot}\\src\\libultrare",
|
||||
"${workspaceRoot}\\src\\libultra"
|
||||
],
|
||||
"intelliSenseMode": "linux-gcc-x86",
|
||||
"defines": [
|
||||
"_DEBUG",
|
||||
"TRI4_Ext",
|
||||
"VERSION_US",
|
||||
"TARGET_N64", /* IDO 5.3 Defs below */
|
||||
|
||||
"TARGET_N64"
|
||||
/* IDO 5.3 Defs below */,
|
||||
"_MIPS_FPSET=16",
|
||||
"_MIPS_ISA=2",
|
||||
"_ABIO32=1",
|
||||
@@ -147,7 +175,9 @@
|
||||
"MIPSEB",
|
||||
"__STDC__=1"
|
||||
],
|
||||
"undefines": [ "__cplusplus" ]
|
||||
"undefines": [
|
||||
"__cplusplus"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "LibUltra-FINAL",
|
||||
@@ -155,18 +185,20 @@
|
||||
"generator": "Unix Makefiles",
|
||||
"cStandard": "c89",
|
||||
"includePath": [
|
||||
"\\\\wsl.localhost\\Ubuntu\\usr\\include",
|
||||
"${workspaceRoot}",
|
||||
"${workspaceRoot}\\include",
|
||||
"${workspaceRoot}\\include\\PR",
|
||||
"${workspaceRoot}\\src\\libultrare",
|
||||
"${workspaceRoot}\\src\\libultra"
|
||||
],
|
||||
"intelliSenseMode": "linux-gcc-x86",
|
||||
"defines": [
|
||||
"_FINALROM",
|
||||
"TRI4_Ext",
|
||||
"VERSION_US",
|
||||
"TARGET_N64",/* IDO 5.3 Defs below */
|
||||
|
||||
"TARGET_N64"
|
||||
/* IDO 5.3 Defs below */,
|
||||
"_MIPS_FPSET=16",
|
||||
"_MIPS_ISA=2",
|
||||
"_ABIO32=1",
|
||||
@@ -197,7 +229,9 @@
|
||||
"MIPSEB",
|
||||
"__STDC__=1"
|
||||
],
|
||||
"undefines": [ "__cplusplus" ]
|
||||
"undefines": [
|
||||
"__cplusplus"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
# install distro packages
|
||||
RUN apt update
|
||||
RUN apt -y install bash-completion sudo binutils-mips-linux-gnu wget make git python3 libcapstone-dev pkg-config build-essential
|
||||
|
||||
# install qemu (can be removed if you're using ido recomp)
|
||||
RUN wget https://github.com/n64decomp/qemu-irix/releases/download/v2.11-deb/qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb -P /tmp
|
||||
RUN dpkg -i /tmp/qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb
|
||||
|
||||
# setup sudo
|
||||
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
||||
|
||||
# setup developer directory
|
||||
RUN useradd -ms /bin/bash dev
|
||||
RUN usermod -aG sudo dev
|
||||
USER dev
|
||||
WORKDIR /home/dev
|
||||
|
||||
CMD ["/bin/bash"]
|
||||
@@ -1,7 +1,7 @@
|
||||
# Makefile to rebuild Goldeneye 007
|
||||
# Makefile to build Goldeneye 007
|
||||
|
||||
### Default target ###
|
||||
default: colour
|
||||
default: all
|
||||
|
||||
### Default Build Options ###
|
||||
# Version of the game to build
|
||||
@@ -11,163 +11,13 @@ IDO_RECOMP := YES
|
||||
VERBOSE := 2
|
||||
# If COMPARE is 1, check the output sha1sum when building 'all', and if fail to match
|
||||
# then compare ELF sections to known md5 checksums.
|
||||
# If compare is 2, it will just compare the sha1sum.
|
||||
COMPARE := 1
|
||||
|
||||
# Include Terminal Codes for colourising text.
|
||||
include include/make/VT100Codes.make
|
||||
include include/make/Gui.make
|
||||
|
||||
## VT100 Codes ##
|
||||
SAVECURSOR := \0337\033[s
|
||||
RESTORECURSOR := \0338\033[u
|
||||
SET_SCROLLREGION = \033[$(1);$(2)r
|
||||
RESTORESCROLLREGION := \033[r
|
||||
CURSOR_GOTO = \033[$(1);$(2)H
|
||||
SET_TEXTATTRIB = \033[$(1)$(if $(2),;$(2))$(if $(3),;$(3))m
|
||||
BELL := \007
|
||||
|
||||
#Attributes
|
||||
RESTORECOLOUR := \033[m
|
||||
BOLD := 1
|
||||
DIM := 2
|
||||
UNDERSCORE := 4
|
||||
BLINK := 5
|
||||
INVERT := 7
|
||||
HIDDEN := 8
|
||||
|
||||
#Colours
|
||||
FG_BLACK:= 30
|
||||
FG_MAROON:= 31
|
||||
FG_GREEN:= 32
|
||||
FG_OLIVE:= 33
|
||||
FG_NAVY:= 34
|
||||
FG_PURPLE:= 35
|
||||
FG_TEAL:= 36
|
||||
FG_SILVER:= 37
|
||||
FG_GRAY:= 90
|
||||
FG_RED:= 91
|
||||
FG_LIME:= 92
|
||||
FG_YELLOW:= 93
|
||||
FG_BLUE:= 94
|
||||
FG_VIOLET:= 95
|
||||
FG_CYAN:= 96
|
||||
FG_WHITE:= 97
|
||||
|
||||
BG_BLACK:= 40
|
||||
BG_MAROON:= 41
|
||||
BG_GREEN:= 42
|
||||
BG_OLIVE:= 43
|
||||
BG_NAVY:= 44
|
||||
BG_PURPLE:= 45
|
||||
BG_TEAL:= 46
|
||||
BG_SILVER:= 47
|
||||
BG_GRAY:= 100
|
||||
BG_RED:= 101
|
||||
BG_LIME:= 102
|
||||
BG_YELLOW:= 103
|
||||
BG_BLUE:= 104
|
||||
BG_VIOLET:= 105
|
||||
BG_CYAN:= 106
|
||||
BG_WHITE:= 107
|
||||
|
||||
# define a "newline" variable to be used in make scripts
|
||||
# use with ${\n}
|
||||
# https://stackoverflow.com/questions/12528637/how-do-i-execute-each-command-in-a-list
|
||||
define \n
|
||||
|
||||
|
||||
endef
|
||||
#end newline.
|
||||
|
||||
### Build Functions ###
|
||||
# Common build print status function
|
||||
PRINT_STATUS = @echo "$(call SET_TEXTATTRIB,$(FG_GREEN))$(1) $(call SET_TEXTATTRIB,$(FG_OLIVE))$(2)$(call SET_TEXTATTRIB,$(FG_GRAY)) $(if $3, -> $(call SET_TEXTATTRIB,$(FG_NAVY))$(3))$(RESTORECOLOUR)"
|
||||
|
||||
# Seperate "constant" drawing from variable drawing to speed up PBar rendering
|
||||
# draws a box and fills it grey ready for blue bar
|
||||
SetupProgressBar = \
|
||||
{ \
|
||||
str="$(SAVECURSOR)$(call SET_SCROLLREGION,4,0)$(call CURSOR_GOTO,2,999)\033[1J$(call CURSOR_GOTO,1)";\
|
||||
str=$$str"\033(0lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk"; \
|
||||
str=$$str"\nx$(call SET_TEXTATTRIB,$(BG_GRAY))%78s$(RESTORECOLOUR)x\n"; \
|
||||
str=$$str"mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj\033(B"; \
|
||||
str=$$str"$(RESTORECURSOR)"; \
|
||||
printf $$str ""; \
|
||||
}
|
||||
|
||||
#(call DrawProgressBar,Percent)
|
||||
# OR
|
||||
#(call DrawProgressBar,NumberOfItemsDone,TotalNumberOfItems)
|
||||
# If second param is given, use it to work out a percentage.
|
||||
# divide the percentage into a 80 char long bar
|
||||
# paint the whole bar grey
|
||||
# paint the first half, then text, then second half.
|
||||
# clear colour codes
|
||||
DrawProgressBar = \
|
||||
{ \
|
||||
$(if $(2), \
|
||||
if [ "$(1)" -ne "$(2)" ]; \
|
||||
then \
|
||||
_pdone=`expr 100 / $(2) \* $(1)`; \
|
||||
else \
|
||||
_pdone=100; \
|
||||
fi \
|
||||
,_pdone=$(1) \
|
||||
); \
|
||||
pdone=`expr $$_pdone \* 74 / 100`; \
|
||||
pdoneb=0; \
|
||||
str="$(SAVECURSOR)$(call CURSOR_GOTO,2,2)";\
|
||||
str=$$str"$(call SET_TEXTATTRIB,$(BOLD),$(FG_WHITE),$(BG_NAVY))" ; \
|
||||
\
|
||||
if [ "$$pdone" -lt "36" ]; \
|
||||
then \
|
||||
str=$$str"%$${pdone}s"; \
|
||||
str=$$str"$(call SET_TEXTATTRIB,$(BG_GRAY))";\
|
||||
pdoneb=`expr 36 - $$pdone`; \
|
||||
str=$$str"%$${pdoneb}s%3d%%"; \
|
||||
else \
|
||||
pdoneb=`expr $$pdone - 36`; \
|
||||
str=$$str"%1s%35s%3d%%%$${pdoneb}s"; \
|
||||
fi; \
|
||||
str=$$str"$(RESTORECURSOR)$(RESTORECOLOUR)"; \
|
||||
printf $$str "" "" $$_pdone; \
|
||||
}
|
||||
|
||||
# Increment Progress Bar From percentage (1), and increase by 1 every (2) seconds.
|
||||
# Continue doing so until calling process ends
|
||||
IncrementProgressBarFromAtRate = \
|
||||
{ \
|
||||
i=$(1); \
|
||||
while [ -d /proc/$$! ] && [ $$i -le 100 ]; do \
|
||||
$(call DrawProgressBar,$$i); \
|
||||
i=$$((i+1)); \
|
||||
sleep $(2); \
|
||||
done; \
|
||||
}
|
||||
|
||||
# Ask to continue
|
||||
# (1) Prompt, (2) Do if Yes,
|
||||
# (3) Do if No [can be blank],
|
||||
# (4) Do if anything else [can be blank]
|
||||
# (5) Timeout [can be blank]
|
||||
ContinuePrompt = \
|
||||
{ \
|
||||
echo "$1 [y/n]"; \
|
||||
$(if $(5), readchr(){ old=$$(stty -g); stty raw -echo min 0 time 30; printf '%s' $$(dd bs=1 count=1 2>/dev/null); stty $$old;}; REPLY=$$(readchr) ,read REPLY ); \
|
||||
echo $$REPLY; case $$REPLY in \
|
||||
y|Y) $2;; \
|
||||
n|N) $3;; \
|
||||
*) $4;; \
|
||||
esac; \
|
||||
}
|
||||
|
||||
# Convert AI Print commands from readable strings to byte arrays automatically.
|
||||
ConvertAIPRINT = sed -E -e ':loop s/PRINT\("(..*?)(.)"/PRINT\("\1",\x27\2\x27/g; tloop; \
|
||||
s/(PRINT\(.*?)\x27\\\x27,\x27(.)\x27(.*)\)/\1\x27\\\2\x27\3\)/g; \
|
||||
s/(PRINT\()"(.)"(.*)\)/\1\x27\2\x27\3\)/g; \
|
||||
s/PRINT\((.*)\)/PRINT\(\1,\x27\\0\x27\,)/g; \
|
||||
s/PRINT\((.*)\)/AI_PRINT,\1/g'
|
||||
|
||||
## More Build Variables (Auto) ##
|
||||
|
||||
# set tooolchain based on current OS
|
||||
ifeq ($(shell type mips-linux-gnu-ld >/dev/null 2>/dev/null; echo $$?), 0)
|
||||
TOOLCHAIN := mips-linux-gnu-
|
||||
else ifeq ($(shell type mips64-linux-gnu-ld >/dev/null 2>/dev/null; echo $$?), 0)
|
||||
@@ -176,6 +26,7 @@ else
|
||||
TOOLCHAIN := mips64-elf-
|
||||
endif
|
||||
|
||||
# Use IDO Recomp UNLESS specified otherwise
|
||||
ifeq ($(IDO_RECOMP), NO)
|
||||
QEMU_IRIX := $(shell which qemu-irix 2>/dev/null)
|
||||
ifeq (, $(QEMU_IRIX))
|
||||
@@ -185,6 +36,7 @@ ifeq ($(IDO_RECOMP), NO)
|
||||
else
|
||||
IRIX_ROOT := tools/ido5.3_recomp
|
||||
endif
|
||||
|
||||
# other tools
|
||||
TOOLS_DIR := tools
|
||||
DATASEG_COMP := $(TOOLS_DIR)/data_compress.sh
|
||||
@@ -197,6 +49,14 @@ else
|
||||
SHA1SUM = sha1sum --quiet
|
||||
endif
|
||||
|
||||
# Convert AI Print commands from readable strings to byte arrays automatically.
|
||||
ConvertAIPRINT = sed -E -e ':loop s/PRINT\("(..*?)(.)"/PRINT\("\1",\x27\2\x27/g; tloop; \
|
||||
s/(PRINT\(.*?)\x27\\\x27,\x27(.)\x27(.*)\)/\1\x27\\\2\x27\3\)/g; \
|
||||
s/(PRINT\()"(.)"(.*)\)/\1\x27\2\x27\3\)/g; \
|
||||
s/PRINT\((.*)\)/PRINT\(\1,\x27\\0\x27\,)/g; \
|
||||
s/PRINT\((.*)\)/AI_PRINT,\1/g'
|
||||
|
||||
# per VERSION flags
|
||||
ifeq ($(FINAL), YES)
|
||||
OPTIMIZATION := -O2
|
||||
LCDEFS :=
|
||||
@@ -258,24 +118,15 @@ ALLOWED_VERSIONS := US EU JP DEBUG USB
|
||||
ALLOWED_COUNTRYCODE := u e j
|
||||
|
||||
BUILD_DIR_BASE := build
|
||||
# BUILD_DIR is the location where all build artifacts are placed
|
||||
# BUILD_DIR is the location where all build artefacts are placed
|
||||
BUILD_DIR := $(BUILD_DIR_BASE)/$(OUTCODE)
|
||||
|
||||
# this file references variables defined above: BUILD_DIR, RZ_COMP
|
||||
# this file defines and builds $(MUSIC_RZ_FILES)
|
||||
include assets/Makefile.obseg
|
||||
# this file references variables defined above: BUILD_DIR, RZ_COMP, COUNTRYCODE, LD, CC, CFLAGS, OBJCOPY, ConvertAIPRINT, OPTIMIZATION
|
||||
# this file defines and builds OBSEGMENT, BG_SEG_FILES, BRIEF_RZ_FILES, CHR_RZ_FILES, GUN_RZ_FILES, PROP_RZ_FILES, ,SETUP_BUILD_FILES, STAN_BUILD_FILES, TEXT_RZ_FILES
|
||||
include assets/Makefile.music
|
||||
BUILD_SUB_DIRS := \
|
||||
rsp src src/game src/inflate \
|
||||
src/libultra src/libultra/audio src/libultra/gt src/libultra/gu src/libultra/io \
|
||||
src/libultra/libc src/libultra/os src/libultra/rg src/libultra/sched src/libultra/sp \
|
||||
src/libultrare src/libultrare/audio src/libultrare/gt src/libultrare/gu src/libultrare/io \
|
||||
src/libultrare/libc src/libultrare/os src/libultrare/rg src/libultrare/sched src/libultrare/sp \
|
||||
assets assets/obseg \
|
||||
assets/obseg/brief assets/obseg/chr assets/obseg/gun assets/obseg/prop \
|
||||
assets/obseg/text assets/obseg/bg assets/obseg/setup assets/obseg/setup/$(COUNTRYCODE) assets/obseg/stan \
|
||||
assets/music assets/ramrom assets/images assets/images/split assets/font \
|
||||
assets/embedded assets/embedded/skeletons assets/embedded/player_gait_object
|
||||
# create build directories
|
||||
$(shell mkdir -p $(BUILD_DIR))
|
||||
$(foreach subdir,$(BUILD_SUB_DIRS),$(shell mkdir -p $(BUILD_DIR)/$(subdir)))
|
||||
|
||||
## Collect Objects ##
|
||||
|
||||
@@ -349,13 +200,13 @@ else
|
||||
CC := $(IRIX_ROOT)/cc
|
||||
endif
|
||||
|
||||
CFLAGS := -Wab,-r4300_mul -non_shared -Olimit 2000 -G 0 -Xcpluscomm $(CFLAGWARNING) $(WOFF) -signed $(INCLUDE) $(MIPSISET) $(LCDEFS) -DTARGET_N64
|
||||
CFLAGS := -Wab,-r4300_mul -non_shared -Olimit 2000 -G 0 -Xcpluscomm $(CFLAGWARNING) $(WOFF) $(INCLUDE) $(MIPSISET) $(LCDEFS) -DTARGET_N64
|
||||
|
||||
LD := $(TOOLCHAIN)ld
|
||||
LD_SCRIPT := build/ge007.$(OUTCODE).ld
|
||||
LD_SCRIPT := $(BUILD_DIR)/ge007.$(OUTCODE).ld
|
||||
|
||||
# --no-warn-mismatch is needed to link -mips3 object files (some libultra math) with the regular files compiled with -mips2
|
||||
LDFLAGS := -T $(LD_SCRIPT) -Map build/ge007.$(OUTCODE).map --no-warn-mismatch
|
||||
LDFLAGS := -T $(LD_SCRIPT) -Map $(BUILD_DIR)/ge007.$(OUTCODE).map --no-warn-mismatch
|
||||
|
||||
AS := $(TOOLCHAIN)as
|
||||
ASFLAGS := -march=vr4300 -mabi=32 $(INCLUDE) $(ASMDEFS)
|
||||
@@ -365,125 +216,100 @@ ifneq (,$(shell which armips 2>/dev/null))
|
||||
else
|
||||
ARMIPS := $(TOOLS_DIR)/armips
|
||||
endif
|
||||
ASM_PREPROC := python3 tools/asmpreproc/asm-processor.py
|
||||
ASM_PROCESSOR_DIR := tools/asm-processor
|
||||
ASM_PREPROC := python3 $(ASM_PROCESSOR_DIR)/asm_processor.py
|
||||
|
||||
OBJCOPY := $(TOOLCHAIN)objcopy
|
||||
|
||||
#Now using cursor commands for better look original was //"\033[5;42;97m%80s\r\n%43s%37s\r\n%80s\007\033[0;0m\n"
|
||||
# Rsrv Up 3 80 Dn 1 Return Dn 1 Ret 80ch
|
||||
# Lines Lines ch Line SoL midway Line SoL Bell
|
||||
PRINTNOMATCH := printf "\n\n\033[3A$(call SET_TEXTATTRIB,$(BLINK),$(BG_MAROON),$(FG_WHITE))%80s\033[1B\r%45s%35s\033[1B\r%80s$(BELL)$(RESTORECOLOUR)$(call SET_TEXTATTRIB,$(FG_RED))\n\n\n" "" "NOT MATCH!" "" ""
|
||||
PRINTMATCH := printf "\n\n\n\033[3A$(call SET_TEXTATTRIB,$(BLINK),$(BG_GREEN),$(FG_WHITE))%80s\033[1B\r%43s%37s\033[1B\r%80s$(BELL)$(RESTORECOLOUR)\n" "" "MATCH!" "" ""
|
||||
|
||||
## Build Recipies ##
|
||||
|
||||
# this file references variables defined above: BUILD_DIR, CFLAGWARNING, INCLUDE, LCDEFS
|
||||
# this file defines $(ULTRAOBJECTS)
|
||||
include src/libultrare/Makefile.libultrare
|
||||
|
||||
all: $(APPROM)
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,100)
|
||||
endif
|
||||
ifeq ($(COMPARE),1)
|
||||
|
||||
@echo "\n"
|
||||
# Calculate Checksum if fail Allow overspill Which File failed Quick Check (data) Slow Check (extract .text binary)
|
||||
@$(SHA1SUM) -c ge007.$(OUTCODE).sha1 || ($(PRINTNOMATCH) && echo "$(SAVECURSOR)$(RESTORESCROLLREGION)$(RESTORECURSOR)\033[2D " && $(call ContinuePrompt,"Do you want to check Source Files?",echo "Please wait while we determine which files are affected..." && $(SHA1SUM) --quiet -c checksums.txt && ./test_files.sh -c -i ge007.$(OUTCODE)-test_basis.csv,,,3) && exit 1)
|
||||
# Else complete
|
||||
@$(PRINTMATCH)
|
||||
endif
|
||||
ifeq ($(COMPARE),2)
|
||||
@$(SHA1SUM) -c ge007.$(COUNTRYCODE).sha1
|
||||
endif
|
||||
@echo "\n Rom File Generated in Build Directory. \n\n"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Build Recipes ##
|
||||
|
||||
# Dont delete intermediate files from these targets on make completion.
|
||||
.SECONDARY:
|
||||
$(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) \
|
||||
$(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES)
|
||||
|
||||
ifeq ($(filter clean nuke dataclean help codeclean context cmdbuilder test stanclean setupclean colour print-%,$(MAKECMDGOALS)),)
|
||||
# Dont print version on "default" since it will be spat out twice
|
||||
ifneq ($(filter $(VERSION),$(ALLOWED_VERSIONS)),)
|
||||
#$(info VERSION=$(VERSION))
|
||||
else
|
||||
$(error VERSION "$(VERSION)" not supported")
|
||||
endif
|
||||
# Make tools if out of date
|
||||
$(info Building tools...)
|
||||
DUMMY != make -s -C tools >&2 || echo FAIL
|
||||
ifeq ($(DUMMY),FAIL)
|
||||
$(error Failed to build tools)
|
||||
endif
|
||||
$(info Building $(VERSION) ROM...)
|
||||
# Dont delete these intermediate targets on make cancelation.
|
||||
.PRECIOUS: %.bin %.o
|
||||
|
||||
endif
|
||||
# Run the following targets sequentialy in this order (unnamed targets will still run in parallel)
|
||||
.NOTPARALLEL: print_info create_directories $(APPROM) checksum
|
||||
|
||||
# Phony Recipes - These targets are not files, Get Make to do something
|
||||
.PHONY: print_info create_directories build_tools prerequisites checksum all_p1 all default commonclean setupclean stanclean dataclean libultraclean codeclean clean nuke help cmdbuidler test context extractassets textures
|
||||
|
||||
|
||||
# this file references variables defined above: BUILD_DIR, CFLAGWARNING, INCLUDE, LCDEFS
|
||||
# this file defines and builds $(ULTRAOBJECTS)
|
||||
include src/libultrare/Makefile.libultrare
|
||||
|
||||
# Build RSP
|
||||
$(BUILD_DIR)/rsp/%.bin: rsp/*.s pb1
|
||||
$(call PRINT_STATUS,Assembling1:,$<,$@)
|
||||
$(BUILD_DIR)/rsp/%.bin: rsp/*.s
|
||||
$(ARMIPS) -sym $@.sym -strequ CODE_FILE $(BUILD_DIR)/rsp/$*.bin -strequ DATA_FILE $(BUILD_DIR)/rsp/$*_data.bin $<
|
||||
|
||||
$(BUILD_DIR)/src/rspboot.o: $(BUILD_DIR)/rsp/rspboot.bin
|
||||
|
||||
#Build asm files in root
|
||||
$(BUILD_DIR)/%.o: src/%.s pb2
|
||||
$(call PRINT_STATUS,Assembling2:,$<,$@)
|
||||
$(BUILD_DIR)/%.o: src/%.s
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
#Build asm files in src/
|
||||
$(BUILD_DIR)/src/%.o: src/%.s pb3
|
||||
$(call PRINT_STATUS,Assembling3:,$<,$@)
|
||||
$(BUILD_DIR)/src/%.o: src/%.s
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
#Build Images
|
||||
$(BUILD_DIR)/assets/images/split/%.o: assets/images/split/%.bin pb5
|
||||
$(call PRINT_STATUS,Compiling5:,$<,$@)
|
||||
$(BUILD_DIR)/assets/images/split/%.o: assets/images/split/%.bin
|
||||
$(LD) -r -b binary $< -o $@
|
||||
|
||||
|
||||
#Compress Obseg
|
||||
$(BUILD_DIR)/$(OBSEGMENT): $(OBSEG_RZ) $(IMAGE_OBJS) pb6
|
||||
$(call PRINT_STATUS,Compressing6:,$<,$@)
|
||||
$(BUILD_DIR)/$(OBSEGMENT): $(OBSEG_RZ) $(IMAGE_OBJS)
|
||||
|
||||
|
||||
#Build C files in src/
|
||||
# convert AI_PRINT commands from readable to byte-array
|
||||
$(BUILD_DIR)/src/%.o: src/%.c
|
||||
$(call PRINT_STATUS,Compiling8:,$<,$@)
|
||||
@if grep -q 'GLOBAL_ASM(' $<; then \
|
||||
$(ASM_PREPROC) $(OPTIMIZATION) $< | $(CC) -c $(CFLAGS) tools/asmpreproc/include-stdin.c -o $@ $(OPTIMIZATION); \
|
||||
$(ASM_PREPROC) $(OPTIMIZATION) $< --post-process $@ --assembler "$(AS) $(ASFLAGS)" --asm-prelude tools/asmpreproc/prelude.s; \
|
||||
$(ASM_PREPROC) $(OPTIMIZATION) $< | $(CC) -c $(CFLAGS) $(ASM_PROCESSOR_DIR)/include-stdin.c -o $@ $(OPTIMIZATION); \
|
||||
$(ASM_PREPROC) $(OPTIMIZATION) $< --post-process $@ --assembler "$(AS) $(ASFLAGS)" --asm-prelude $(ASM_PROCESSOR_DIR)/prelude.inc; \
|
||||
elif [ "$$(basename $<)" = "chraidata.c" ]; then \
|
||||
$(ConvertAIPRINT) $< | $(CC) -c $(CFLAGS) $(ASM_PROCESSOR_DIR)/include-stdin.c -o $@ $(OPTIMIZATION); \
|
||||
else \
|
||||
$(CC) -c $(CFLAGS) -o $@ $(OPTIMIZATION) $<; \
|
||||
fi
|
||||
|
||||
|
||||
#Build RamRom
|
||||
$(BUILD_DIR)/assets/ramrom/%.o: assets/ramrom/%.s pb9
|
||||
$(call PRINT_STATUS,Assembling9:,$<,$@)
|
||||
$(BUILD_DIR)/assets/ramrom/%.o: assets/ramrom/%.s
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
#Build fonts
|
||||
$(BUILD_DIR)/assets/font/%.o: assets/font/%.c pb10
|
||||
$(call PRINT_STATUS,Compiling10:,$<,$@)
|
||||
$(BUILD_DIR)/assets/font/%.o: assets/font/%.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $(OPTIMIZATION) $<
|
||||
|
||||
#Build asm files in assets/
|
||||
$(BUILD_DIR)/assets/%.o: assets/%.s pb11
|
||||
$(call PRINT_STATUS,Assembling11:,$<,$@)
|
||||
$(BUILD_DIR)/assets/%.o: assets/%.s
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
#Build Obseg
|
||||
$(BUILD_DIR)/assets/obseg/%.o: assets/obseg/%.s $(OBSEG_RZ) pb12
|
||||
$(call PRINT_STATUS,Assembling12:,$<,$@)
|
||||
$(BUILD_DIR)/assets/obseg/%.o: assets/obseg/%.s $(OBSEG_RZ)
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
#Build C files in assets/
|
||||
$(BUILD_DIR)/assets/%.o: assets/%.c pb4
|
||||
$(call PRINT_STATUS,Compiling4:,$<,$@)
|
||||
$(BUILD_DIR)/assets/%.o: assets/%.c
|
||||
ifeq ($(filter-out %setup%,$<),)
|
||||
$(ConvertAIPRINT) $< | $(CC) -c $(CFLAGS) tools/asmpreproc/include-stdin.c -o $@ $(OPTIMIZATION)
|
||||
$(ConvertAIPRINT) $< | $(CC) -c $(CFLAGS) $(ASM_PROCESSOR_DIR)/include-stdin.c -o $@ $(OPTIMIZATION)
|
||||
else
|
||||
$(CC) -c $(CFLAGS) -o $@ $(OPTIMIZATION) $<
|
||||
endif
|
||||
@@ -495,132 +321,88 @@ endif
|
||||
# $(CC) -c -Wab,-r4300_mul -non_shared -G 0 -Xcpluscomm $(CFLAGWARNING) -woff 819,820,852,821,838,649 -signed $(INCLUDE) $(MIPSISET) $(LCDEFS) -DTARGET_N64 $(OPTIMIZATION) -o $@ $<
|
||||
|
||||
#Link Files
|
||||
$(APPELF): $(RSPOBJECTS) $(ULTRAOBJECTS) $(HEADEROBJECTS) $(OBSEG_RZ) $(BUILD_DIR)/$(OBSEGMENT) $(MUSIC_RZ_FILES) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(ROMOBJECTS) $(ASSET_DATAOBJECTS) $(ROMOBJECTS2) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(OBSEG_OBJECTS) pb14 ge007.ld
|
||||
cpp $(LDFILEOPTS) -P ge007.ld -o build/ge007.$(OUTCODE).ld
|
||||
$(APPELF): $(RSPOBJECTS) $(ULTRAOBJECTS) $(HEADEROBJECTS) $(OBSEG_RZ) $(BUILD_DIR)/$(OBSEGMENT) $(MUSIC_RZ_FILES) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(ROMOBJECTS) $(ASSET_DATAOBJECTS) $(ROMOBJECTS2) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(OBSEG_OBJECTS) ge007.ld
|
||||
cpp $(LDFILEOPTS) -P ge007.ld -o $(BUILD_DIR)/ge007.$(OUTCODE).ld
|
||||
@echo "Linking Files into ELF"
|
||||
$(LD) $(LDFLAGS) -o $@
|
||||
|
||||
$(APPBIN): $(APPELF)
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,98)
|
||||
endif
|
||||
@echo "Building ROM"
|
||||
$(OBJCOPY) $< $@ -O binary --gap-fill=0xff
|
||||
|
||||
$(APPROM): $(APPBIN)
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,100)
|
||||
endif
|
||||
@echo "Compressing ROM"
|
||||
$(DATASEG_COMP) $< $(OUTCODE)
|
||||
@echo "Finalizing ROM"
|
||||
$(N64CKSUM) $< $@
|
||||
|
||||
.PRECIOUS: %.bin %.o
|
||||
|
||||
## Phony Recipes below - Get Make to do something ##
|
||||
|
||||
print_info:
|
||||
$(info VERSION=$(VERSION))
|
||||
$(info Building $(VERSION) ROM...)
|
||||
|
||||
create_directories:
|
||||
scripts/make/create_directories.sh "$(BUILD_DIR)" "$(COUNTRYCODE)"
|
||||
|
||||
## Phony Recipies - Get Make to do something ##
|
||||
build_tools:
|
||||
$(info Building tools...)
|
||||
scripts/make/build_tools.sh "$(MAKE)"
|
||||
|
||||
prerequisites: print_info create_directories build_tools extractassets
|
||||
|
||||
.PHONY: all default codeclean dataclean clean cmdbuidler test help colour
|
||||
# Dont declare as phony otherwise make will re-evaluate every build including the recipies assosiated with them - just make sure no file is ever called pbx
|
||||
# pb1 pb2 pb3 pb4 pb5 pb6 pb7 pb8 pb9 pb10 pb11 pb12 pb13 pb14
|
||||
|
||||
setupclean:
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(SETUP_BUILD_FILES)
|
||||
|
||||
stanclean:
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(STAN_BUILD_FILES)
|
||||
|
||||
libultraclean:
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(ULTRAOBJECTS)
|
||||
|
||||
|
||||
codeclean:
|
||||
ifeq ($(VERBOSE),1)
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(RSPOBJECTS)
|
||||
else
|
||||
@clear
|
||||
@$(call SetupProgressBar)
|
||||
@echo "\n\n\nDeleting All Code Binaries Only [Assets will be left from previous compile]"
|
||||
@rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map
|
||||
@$(call DrawProgressBar,50)
|
||||
@rm -f $(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(RSPOBJECTS)
|
||||
@$(call DrawProgressBar,100)
|
||||
endif
|
||||
@echo "\033[1J$(RESTORESCROLLREGION)\nCode Binaries Cleared! Make will Re-Build these next time.\n"
|
||||
|
||||
dataclean:
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES) \
|
||||
$(STAN_BUILD_FILES) $(SETUP_BUILD_FILES)
|
||||
|
||||
# "Conditionals control what 'make' actually "sees" in the makefile, so they cannot be used to control recipes at the time of execution."
|
||||
# https://www.gnu.org/software/make/manual/html_node/Conditionals.html
|
||||
ifeq ($(VERBOSE),1)
|
||||
clean::
|
||||
# if this command is modified, make sure to update this in the `nuke` recipe.
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) \
|
||||
$(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES) $(RSPOBJECTS) \
|
||||
$(STAN_BUILD_FILES) $(SETUP_BUILD_FILES)
|
||||
else
|
||||
clean::
|
||||
@clear
|
||||
@echo "\n\n\nDeleting All Code and Asset Binaries"
|
||||
@$(call SetupProgressBar)
|
||||
@rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map & $(call IncrementProgressBarFromAtRate,0,0.125)
|
||||
@rm -f $(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) & $(call IncrementProgressBarFromAtRate,25,0.125)
|
||||
@rm -f $(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) & $(call IncrementProgressBarFromAtRate,50,0.125)
|
||||
@rm -f $(IMAGE_OBJS) $(MUSIC_RZ_FILES) $(RSPOBJECTS) $(STAN_BUILD_FILES) $(SETUP_BUILD_FILES)& $(call IncrementProgressBarFromAtRate,75,0.125)
|
||||
|
||||
@$(call DrawProgressBar,100)
|
||||
@echo "\033[1J$(RESTORESCROLLREGION)\nAll Code and Asset Binaries Cleared! Make will Re-Build these next time.\n"
|
||||
checksum: $(APPROM)
|
||||
ifeq ($(COMPARE), 1)
|
||||
scripts/make/checksum.sh "$(SHA1SUM)" "$(OUTCODE)" "$(BUILD_DIR)"
|
||||
endif
|
||||
|
||||
nuke:
|
||||
@echo deleting files specified from make clean ...
|
||||
@# if this command is modified, update the `clean` recipe above.
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) \
|
||||
$(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES) $(RSPOBJECTS) \
|
||||
$(STAN_BUILD_FILES) $(SETUP_BUILD_FILES)
|
||||
@echo
|
||||
@echo make: deleting build folders and files
|
||||
$(foreach x,$(ALLOWED_COUNTRYCODE),rm -r -f -d "$(BUILD_DIR_BASE)/$(x)/"${\n})
|
||||
@echo
|
||||
@echo make: deleting bin / rsp / asp
|
||||
rm -r -f -d "bin/"
|
||||
@echo
|
||||
@echo make: deleting assets
|
||||
rm -r -f -d "assets/images/split/"
|
||||
rm -r -f "assets/music/*.bin" "assets/obseg/bg/*.bin" "assets/obseg/brief/*.bin" "assets/obseg/chr/*.bin" "assets/obseg/gun/*.bin" "assets/obseg/prop/*.bin" "assets/obseg/setup/*.bin" "assets/obseg/setup/e/*.bin" "assets/obseg/setup/u/*.bin" "assets/obseg/setup/j/*.bin" "assets/obseg/stan/*.bin" "assets/obseg/text/*.bin" "assets/obseg/text/e/*.bin" "assets/obseg/text/u/*.bin" "assets/obseg/text/j/*.bin" "assets/ramrom/*.bin" "assets/ramrom/e/*.bin" "assets/ramrom/u/*.bin" "assets/ramrom/j/*.bin"
|
||||
all_p1: prerequisites
|
||||
all: all_p1 $(APPROM) checksum
|
||||
@echo "Rom File Generated in Build Directory."
|
||||
|
||||
commonclean:
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(BUILD_DIR)/ge007.$(OUTCODE).map
|
||||
|
||||
setupclean: commonclean
|
||||
rm -f $(SETUP_BUILD_FILES)
|
||||
|
||||
stanclean: commonclean
|
||||
rm -f $(STAN_BUILD_FILES)
|
||||
|
||||
dataclean: commonclean stanclean setupclean
|
||||
rm -f $(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES)
|
||||
|
||||
libultraclean: commonclean
|
||||
rm -f $(ULTRAOBJECTS)
|
||||
|
||||
codeclean: commonclean libultraclean
|
||||
rm -f $(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(RSPOBJECTS)
|
||||
|
||||
clean: codeclean dataclean
|
||||
@echo "\nAll Code and Asset Binaries Cleared! Make will Re-Build these next time.\n"
|
||||
|
||||
nuke: clean
|
||||
scripts/make/clean_nuke.sh "$(ALLOWED_COUNTRYCODE)" "$(BUILD_DIR_BASE)"
|
||||
|
||||
# 0 4 35 80 80(with colour codes)
|
||||
help:
|
||||
@echo "\n\033[1;4mmakefile help$(RESTORECOLOUR)"
|
||||
@echo "mmakefile help"
|
||||
@echo ""
|
||||
@echo " supported targets:"
|
||||
@echo ""
|
||||
@echo " all $(call SET_TEXTATTRIB,$(FG_LIME)) Build$(RESTORECOLOUR) all (default)"
|
||||
@echo " clean $(call SET_TEXTATTRIB,$(FG_RED)) Delete all$(RESTORECOLOUR) known build artifacts"
|
||||
@echo " nuke $(call SET_TEXTATTRIB,$(FG_RED)) Delete all$(RESTORECOLOUR) files explicitly listed in Makefile (same as make clean),"
|
||||
@echo " all Build all (default)"
|
||||
@echo " clean Delete all known build artifacts"
|
||||
@echo " nuke Delete all files explicitly listed in Makefile (same as make clean),"
|
||||
@echo " all build output for all versions, any .bin file in assets folders,"
|
||||
@echo " and asp/rsp bin."
|
||||
@echo " dataclean $(call SET_TEXTATTRIB,$(FG_RED)) Delete$(RESTORECOLOUR) only asset build artifacts"
|
||||
@echo " codeclean $(call SET_TEXTATTRIB,$(FG_RED)) Delete$(RESTORECOLOUR) only code (asm, .c) build artifacts"
|
||||
@echo " libultraclean $(call SET_TEXTATTRIB,$(FG_RED)) Delete$(RESTORECOLOUR) only code (asm, .c) build artifacts "
|
||||
@echo " dataclean Delete only asset build artifacts"
|
||||
@echo " codeclean Delete only code (asm, .c) build artifacts"
|
||||
@echo " libultraclean Delete only code (asm, .c) build artifacts "
|
||||
@echo " from Rare's libultra files"
|
||||
@echo " stanclean $(call SET_TEXTATTRIB,$(FG_RED)) Delete$(RESTORECOLOUR) only stan build artifacts"
|
||||
@echo " setupclean $(call SET_TEXTATTRIB,$(FG_RED)) Delete$(RESTORECOLOUR) only setup build artifacts"
|
||||
@echo " cmdbuidler $(call SET_TEXTATTRIB,$(FG_LIME)) Build$(RESTORECOLOUR) AI Commands"
|
||||
@echo " context [file] $(call SET_TEXTATTRIB,$(FG_LIME)) Build$(RESTORECOLOUR) Context File from [file]"
|
||||
@echo " stanclean Delete only stan build artifacts"
|
||||
@echo " setupclean Delete only setup build artifacts"
|
||||
@echo " cmdbuidler BuildAI Commands"
|
||||
@echo " context [file] BuildContext File from [file]"
|
||||
@echo " eg make context src/game/chrai.c"
|
||||
@echo " test Re-Run Data Verification "
|
||||
@echo ""
|
||||
@@ -630,88 +412,10 @@ help:
|
||||
@echo " VERSION=v Region version. (US is default)"
|
||||
@echo " Supported values: ${ALLOWED_VERSIONS}\n"
|
||||
|
||||
#CMD Builder tools
|
||||
AI_CMD_BUILDER := $(TOOLS_DIR)/cmdbuilder.c
|
||||
AI_CMD_LIST_DEFINITIONS := src/aicommands.def
|
||||
AI_CMD_LIST_TEMP := $(BUILD_DIR)/aicommands.temp
|
||||
AI_CMD_LIST_H2 := src/aicommands2.h
|
||||
#Pre-Format encoding newlines and tags
|
||||
AI_CMD_BUILDER_PRECONVERT := sed -E
|
||||
AI_CMD_BUILDER_PRECONVERT += -e 's/\x27\\n\x27/\x27\/n\x27/g;' # encode '\n' as '/n' (TEXT PRINT command)
|
||||
AI_CMD_BUILDER_PRECONVERT += -e '/^\s*\*/ s/\x27/\?\?x27/g;' # encode DocBlock(/**...**/) quotes '' as x27
|
||||
AI_CMD_BUILDER_PRECONVERT += -e '/\/\*\*/ , /\*\// s/([^/])$$/\1 \\n\\/g;' # encode DocBlock(/**...**/) Newlines as \n\ .
|
||||
#AI_CMD_BUILDER_PRECONVERT += -e '/^\s*\*/ s/([^\/])$$/\1 \\n\\/g;' # encode DocBlock(/**...**/) Newlines as \n\ .
|
||||
AI_CMD_BUILDER_PRECONVERT += -e 's/[^/\*\S]\*$$/\\n\\/g; s/^(\s*)\*[^/\*]/\1 /g;' # remove DocBlock sides (causes problems with tooltips) fixed to check for ordinary comment
|
||||
#AI_CMD_BUILDER_PRECONVERT += -e '/^_AI_CMD_POLYMORPH\(CMDNAME,\n(.|\n)*?\s{19}DESCRIPTION(\)| DESCRIPTION2\))/ s/[^,]\n/\\n\\/g;' # Newlines in POLYMORPHS
|
||||
AI_CMD_BUILDER_PRECONVERT += -e 's/\/\*\*/\?\?\\\*\(\*\*/g;' # encode /** as ??\*(**
|
||||
AI_CMD_BUILDER_PRECONVERT += -e 's/\*\*\//\*\*\)\*\?\?\\ /g;' # encode **/ as **)*??\
|
||||
#Format Newlines and Comment tags
|
||||
AI_CMD_BUILDER_CONVERT := sed -E
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\\n/\n/g;' # add newlines
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\?{2}\=/\#/g;' # replace ??= with hash for defines
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\?{2}\\/\//g;' # replace ??\ with /
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/DEFINE([^D])/\#define\1/g;' # replace DEFINE with #define
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\\.*/\\/g;' # replace \... with \ (line continuation)
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\*\(\*/\*/g;' # replace *(* with *
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\*\)\*/\*/g;' # replace *)* with *
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/MAKE_EXPAND\(([^\n]*)MAKE_EXPAND_END\)/\1/g;' #replace MAKE_EXPAND(CONTENTS) with CONTENTS
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\?{2}x27/\x27/g;' # replace ??x27 with '
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\x27\/n\x27/\x27\\n\x27/g;' # replace '/n' with '\n'
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/AI_EndList\s*,/AI_EndList/g;' # replace AI_EndList , with AI_EndList
|
||||
AI_CMD_BUILDER_CONVERT += -e '/^ *$$/d'
|
||||
|
||||
AI_CMD_LIST_H2_HEADER := \
|
||||
"/******************************************************************************\n\
|
||||
* *\n\
|
||||
* *\n\
|
||||
* Do not edit this file. It was automatically generated by \"cmdbuilder\" *\n\
|
||||
* from the file \"$(AI_CMD_LIST_DEFINITIONS)\". *\n\
|
||||
* To Add/Remove/Modify AI Commands please edit \"$(AI_CMD_LIST_DEFINITIONS)\" *\n\
|
||||
* and then run *\n\
|
||||
* make cmdbuilder *\n\
|
||||
* *\n\
|
||||
* *\n\
|
||||
*****************************************************************************/\n\n"
|
||||
include include/make/cmd.make
|
||||
|
||||
|
||||
cmdbuilder:
|
||||
@clear
|
||||
@echo
|
||||
@echo Building AI Command Macros...
|
||||
@echo
|
||||
@$(call SetupProgressBar)
|
||||
@$(call DrawProgressBar,0)
|
||||
@ # copy command definitions to temp
|
||||
@cp $(AI_CMD_LIST_DEFINITIONS) $(AI_CMD_LIST_TEMP)
|
||||
@$(call DrawProgressBar,5)
|
||||
@ # Preformat Definitions for builder (encode documentation tags)
|
||||
@$(call PRINT_STATUS,"Pre Formatting",$(AI_CMD_LIST_DEFINITIONS))
|
||||
@$(AI_CMD_BUILDER_PRECONVERT) $(AI_CMD_LIST_TEMP) > $(AI_CMD_LIST_DEFINITIONS)
|
||||
@$(call DrawProgressBar,10)
|
||||
@ # Print Header
|
||||
@echo $(AI_CMD_LIST_H2_HEADER) > $(AI_CMD_LIST_H2)
|
||||
@$(call DrawProgressBar,11)
|
||||
@ # Execute Builder and format (re-add newlines, documentation tags etc) -C keeps /**/ comments
|
||||
@$(call PRINT_STATUS,"Processing",$(AI_CMD_LIST_DEFINITIONS))
|
||||
@echo This might take some time...
|
||||
@$(CC) -Xcpluscomm -c $(AI_CMD_BUILDER) $(INCLUDE) -w 581 -E | $(AI_CMD_BUILDER_CONVERT) >> $(AI_CMD_LIST_H2) & $(call IncrementProgressBarFromAtRate,12,0.5)
|
||||
@$(call DrawProgressBar,98)
|
||||
@ # restore command def from temp (no encoding)
|
||||
@cp $(AI_CMD_LIST_TEMP) $(AI_CMD_LIST_DEFINITIONS)
|
||||
@$(call DrawProgressBar,99)
|
||||
@rm $(AI_CMD_LIST_TEMP)
|
||||
@$(call DrawProgressBar,100)
|
||||
@echo
|
||||
@echo Done!
|
||||
@echo
|
||||
@echo Rebuild AI Command Macros whenever changing aicommands.def.
|
||||
@echo "\n$(BELL)$(SAVECURSOR)$(RESTORESCROLLREGION)$(RESTORECURSOR)\033[1A"
|
||||
|
||||
test:
|
||||
@$(SHA1SUM) --quiet -c checksums.txt
|
||||
@printf "\033[1;92m All Checked Files Match\033[0m\n\n"
|
||||
# @$(SHA1SUM) $(BG__SEG_FILES) $(BRIEF_RZ_FILES) $(CHR_RZ_FILES) $(GUN_RZ_FILES) \
|
||||
$(PROP_RZ_FILES) $(SETUP_BIN_FILES) $(STAN_RZ_FILES) $(TEXT_RZ_FILES) > checksums.txt
|
||||
test: checksum
|
||||
|
||||
|
||||
ifneq ($(filter-out context,$(MAKECMDGOALS)),)
|
||||
@@ -733,94 +437,64 @@ endif
|
||||
@rm build/ctx.c build/ctx2.h || exit 0
|
||||
@echo You can find it in Build [build/ctx.h].
|
||||
|
||||
testPB:
|
||||
$(call SetupProgressBar)
|
||||
$(call IncrementProgressBarFromAtRate,0,0.125)
|
||||
extractassets: extract_u extract_e extract_j
|
||||
|
||||
textures:
|
||||
extract_u:
|
||||
@if [ ! -f assets/obseg/ob__ob_end.seg ]; then \
|
||||
echo "Extracting assets for u..."; \
|
||||
if [ -f baserom.u.z64 ]; then \
|
||||
scripts/extract_baserom.u.sh; \
|
||||
else \
|
||||
echo "Error: baserom.u.z64 not found."; \
|
||||
fi \
|
||||
else \
|
||||
echo "Assets for u already extracted."; \
|
||||
fi
|
||||
|
||||
extract_e:
|
||||
@if [ ! -f assets/obseg/text/e/LwaxP.bin ]; then \
|
||||
echo "Extracting assets for e..."; \
|
||||
if [ -f baserom.e.z64 ]; then \
|
||||
scripts/extract_diff.e.sh; \
|
||||
else \
|
||||
echo "Error: baserom.e.z64 not found."; \
|
||||
fi \
|
||||
else \
|
||||
echo "Assets for e already extracted."; \
|
||||
fi
|
||||
|
||||
extract_j:
|
||||
@if [ ! -f assets/obseg/text/j/LstatJ.bin ]; then \
|
||||
echo "Extracting assets for j..."; \
|
||||
if [ -f baserom.j.z64 ]; then \
|
||||
scripts/extract_diff.j.sh; \
|
||||
else \
|
||||
echo "Error: baserom.j.z64 not found."; \
|
||||
fi \
|
||||
else \
|
||||
echo "Assets for j already extracted."; \
|
||||
fi
|
||||
|
||||
extract_rsp:
|
||||
@if [ ! -f build/u/rsp/rspboot.bin ]; then \
|
||||
echo "Extracting rsp assets..."; \
|
||||
if [ -f baserom.u.z64 ]; then \
|
||||
scripts/extract_asp_gsp_rsp.sh; \
|
||||
else \
|
||||
echo "Error: baserom.u.z64 not found."; \
|
||||
fi \
|
||||
else \
|
||||
echo "RSP assets for already extracted."; \
|
||||
fi
|
||||
|
||||
textures: tools/mktex/build/tex2png
|
||||
@echo "Processing textures..."
|
||||
mkdir -p assets/images/out
|
||||
$(foreach x,$(IMAGE_BINS),tools/mktex/build/tex2png $(x) assets/images/out ${\n})
|
||||
|
||||
colour:
|
||||
@echo "\033[3A"
|
||||
ifeq ($(VERBOSE),0)
|
||||
# @clear
|
||||
@$(call SetupProgressBar)
|
||||
@$(call DrawProgressBar,0)
|
||||
endif
|
||||
@$(MAKE) --no-print-directory all 2>&1 | sed -E \
|
||||
-e 's/\(\(\x27E\x27\,\x27R\x27\,\x27R\x27\,\x27O\x27\,\x27R\x27,\s?((\x27?,?\s?\x27.)*)\x27,\s?\x27([^x27])\x27\)/((\x27ERROR\x27,\1\3\x27\)/g; :loop s/\(\((\x27ERROR)((\x27?,?\s?\x27.)*),?\s?\x27(.)\x27([^x27]*)\x27\)/((\1\2\5\x27\)/g; tloop; ' \
|
||||
-e "s/(ERROR:[^\x27]*?\x27)|(^.*[Ee]rror.*)|(Mis-Match in)|(:\sFAILED)/$$(echo "$(call SET_TEXTATTRIB,$(FG_RED))")&$$(echo "$(RESTORECOLOUR)")/g" \
|
||||
-e "s/^.*[Ww]arning.*/$$(echo "$(call SET_TEXTATTRIB,$(FG_YELLOW))")&$$(echo "$(RESTORECOLOUR)")/g" \
|
||||
-e "s/^.*(([Bb]uilding)|(:\sOK)|([Ll]inkin)).*/$$(echo "$(call SET_TEXTATTRIB,$(FG_LIME))")&$$(echo "$(RESTORECOLOUR)")/g" \
|
||||
-e "s/((([^\/]*([^s][^t][^d][^i][^n])\.c)|([^\/]*\.o))\s)/$$(echo "$(call SET_TEXTATTRIB,$(FG_WHITE))")&$$(echo "$(RESTORECOLOUR)")/g"
|
||||
@echo "$(SAVECURSOR)$(RESTORESCROLLREGION)$(RESTORECURSOR)\033[1A"
|
||||
|
||||
# hide output by default, unless this one of the following targets
|
||||
ifeq ($(filter nuke,$(MAKECMDGOALS)),)
|
||||
else
|
||||
ifeq ($(VERBOSE),0)
|
||||
.SILENT:
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
## Progress Bar status - call once ##
|
||||
pb1:
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,1,15)
|
||||
endif
|
||||
pb2:
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,2,15)
|
||||
endif
|
||||
pb3:
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,3,15)
|
||||
endif
|
||||
pb4:
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,4,15)
|
||||
endif
|
||||
pb5:
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,5,15)
|
||||
endif
|
||||
pb6:
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,6,15)
|
||||
endif
|
||||
pb7:
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,7,15)
|
||||
endif
|
||||
pb8:
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,8,15)
|
||||
endif
|
||||
pb9:
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,9,15)
|
||||
endif
|
||||
pb10:
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,10,15)
|
||||
endif
|
||||
pb11:
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,11,15)
|
||||
endif
|
||||
pb12:
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,12,15)
|
||||
endif
|
||||
pb13:
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,13,15)
|
||||
endif
|
||||
pb14:
|
||||
ifeq ($(VERBOSE),0)
|
||||
@$(call DrawProgressBar,14,15)
|
||||
endif
|
||||
|
||||
|
||||
|
||||
tools/mktex/build/tex2png:
|
||||
@if [ ! -f tools/mktex/build/tex2png ]; then \
|
||||
echo "Building tex2png..."; \
|
||||
cd tools/mktex && $(MAKE); \
|
||||
fi
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
declare -A build_times
|
||||
|
||||
# Define the builds to run
|
||||
build_types=("US" "EU" "JP" "DEBUG" "USB")
|
||||
|
||||
for type in "${build_types[@]}"; do
|
||||
make clean VERSION=$type
|
||||
start_time=$(date +%s)
|
||||
if make -j VERSION=$type; then
|
||||
end_time=$(date +%s)
|
||||
elapsed_time=$((end_time - start_time))
|
||||
hours=$((elapsed_time / 3600))
|
||||
minutes=$(((elapsed_time % 3600) / 60))
|
||||
seconds=$((elapsed_time % 60))
|
||||
build_times[$type]=$(printf "%02d:%02d:%02d" $hours $minutes $seconds)
|
||||
else
|
||||
build_times[$type]="failed"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Build results:"
|
||||
for type in "${build_types[@]}"; do
|
||||
echo "$type: ${build_times[$type]}"
|
||||
done
|
||||
+30
-4
@@ -1,33 +1,59 @@
|
||||
#include <ultra64.h>
|
||||
|
||||
Gfx fontDL_0x000[4] = {
|
||||
// Display list for basic geometry rendering without textures, shading, or lighting effects.
|
||||
Gfx dlBasicGeometry[4] = {
|
||||
// Clear all geometry modes to set a basic state
|
||||
gsSPClearGeometryMode(G_SHADE | G_SHADING_SMOOTH | G_CULL_FRONT | G_CULL_BACK | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD),
|
||||
// Disable texture mapping
|
||||
gsSPTexture(0x0000, 0x0000, 0, 0, 0),
|
||||
// Enable basic shading and smooth shading mode
|
||||
gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH ),
|
||||
// End the display list
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Gfx fontDL_0x020[4] = {
|
||||
// Display list for rendering with Z-buffering enabled for depth comparison.
|
||||
Gfx dlZBufferGeometry[4] = {
|
||||
// Clear all geometry modes to set a basic state
|
||||
gsSPClearGeometryMode(G_SHADE | G_SHADING_SMOOTH | G_CULL_FRONT | G_CULL_BACK | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD),
|
||||
// Disable texture mapping
|
||||
gsSPTexture(0x0000, 0x0000, 0, 0, 0),
|
||||
// Enable Z-buffering, basic shading, and smooth shading mode
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH ),
|
||||
// End the display list
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Gfx fontDL_0x040[15] = {
|
||||
// Display list for configuring the graphics pipeline for fast rendering with specific texture settings.
|
||||
Gfx dlFastPipelineSetup[15] = {
|
||||
// Set to one cycle rendering mode (faster rendering, fewer features)
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
// Set pipeline mode to handle one primitive per cycle
|
||||
gsDPPipelineMode(G_PM_1PRIMITIVE),
|
||||
// Set texture level of detail to tile (use only one mipmap level)
|
||||
gsDPSetTextureLOD(G_TL_TILE),
|
||||
// Disable texture lookup table (no color indexing)
|
||||
gsDPSetTextureLUT(G_TT_NONE),
|
||||
// Clamp texture coordinates to prevent wrapping
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
// Enable perspective correction for textures
|
||||
gsDPSetTexturePersp(G_TP_PERSP),
|
||||
// Use bilinear filtering for smoother textures
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
// Convert texture to filtered format
|
||||
gsDPSetTextureConvert(G_TC_FILT),
|
||||
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, SHADE, 0, 0, 0, SHADE, 0, 0, 0, SHADE),
|
||||
// Set color combiner to use vertex shading only
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
// Disable color keying (no transparency based on color)
|
||||
gsDPSetCombineKey(G_CK_NONE),
|
||||
// Disable alpha comparison (no transparency based on alpha)
|
||||
gsDPSetAlphaCompare( G_AC_NONE),
|
||||
// Set render mode to opaque surface (two cycle mode)
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_OPA_SURF2),
|
||||
// Enable magic square dithering for smoother gradients
|
||||
gsDPSetColorDither(G_CD_MAGICSQ),
|
||||
// Synchronize the pipeline to ensure commands are executed in order
|
||||
gsDPPipeSync(),
|
||||
// End the display list
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
#ifndef _FONT_DL_H_
|
||||
#define _FONT_DL_H_
|
||||
|
||||
extern Gfx fontDL_0x000[4];
|
||||
extern Gfx fontDL_0x020[4];
|
||||
extern Gfx fontDL_0x040[15];
|
||||
extern Gfx dlBasicGeometry[4];
|
||||
extern Gfx dlZBufferGeometry[4];
|
||||
extern Gfx dlFastPipelineSetup[15];
|
||||
|
||||
#endif
|
||||
+59
-59
@@ -1012,7 +1012,7 @@ IMAGE(1010, 0x612, HIT_DIRT, HIT_DIRT, 0, 0, 0, 0)
|
||||
IMAGE(1011, 0x71E, HIT_METALOBJ, HIT_METALOBJ, 0, 0, 0, 0)
|
||||
IMAGE(1012, 0x199, HIT_METALOBJ, HIT_METALOBJ, 0, 0, 0, 0)
|
||||
IMAGE(1013, 0x6AD, HIT_METALOBJ, HIT_METALOBJ, 0, 0, 0, 0)
|
||||
IMAGE(1014, 0x1F3, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(PAPERCLIP, 0x1F3, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(STATIC_NOISE, 0x389, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(1016, 0x367, HIT_METAL, HIT_METAL, 0, 0, 0, 0)
|
||||
IMAGE(1017, 0x2FF, HIT_METAL, HIT_METAL, 0, 0, 0, 0)
|
||||
@@ -1275,7 +1275,7 @@ IMAGE(1273, 0x1F5, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(1274, 0x33E, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(1275, 0x2D6, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(1276, 0x1A1, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(1277, 0xCB, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(GBGRADIENT, 0xCB, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(1278, 0x4F0, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(1279, 0x193, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(1280, 0x370, HIT_STONE, HIT_STONE, 0, 0, 0, 0)
|
||||
@@ -2536,46 +2536,46 @@ IMAGE(2534, 0x306, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2535, 0x44B, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2536, 0x412, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2537, 0x7EB, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2538, 0x925, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2539, 0x959, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2540, 0x9A1, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2541, 0x950, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2542, 0x77E, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2543, 0xA2E, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2544, 0x8CB, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2545, 0x91E, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2546, 0x90F, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2547, 0x8E8, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2548, 0x7A9, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2549, 0x9E0, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2550, 0x8BB, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2551, 0x913, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2552, 0x6B5, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2553, 0x83D, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2554, 0x85D, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2555, 0x840, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2556, 0x62A, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2557, 0x677, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2558, 0x407, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2559, 0x8B7, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2560, 0x8ED, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2561, 0x934, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2562, 0x730, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2563, 0x701, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2564, 0x785, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2565, 0x862, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2566, 0x799, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2567, 0x86E, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2568, 0x71B, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2569, 0x5F3, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2570, 0x733, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2571, 0x758, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2572, 0xA27, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2573, 0xAA4, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2574, 0x761, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2575, 0x6F4, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2576, 0x632, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2577, 0x68B, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(ARCHIVES_U, 0x925, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(ARCHIVES_L, 0x959, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(CONTROL_U, 0x9A1, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(CONTROL_L, 0x950, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(FACILITY_U, 0x77E, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0) //2542 9ee
|
||||
IMAGE(FACILITY_L, 0xA2E, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(AZTEC_U, 0x8CB, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0) //2544 9f0
|
||||
IMAGE(AZTEC_L, 0x91E, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(EGYPT_U, 0x90F, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0) // 9f2
|
||||
IMAGE(EGYPT_L, 0x8E8, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(CAVERNS_U, 0x7A9, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0) //CAVERNS_U
|
||||
IMAGE(CAVERNS_L, 0x9E0, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(CRADLE_U, 0x8BB, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0) //CRADLE_U
|
||||
IMAGE(CRADLE_L, 0x913, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(DAM_U, 0x6B5, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(DAM_L, 0x83D, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(DEPOT_U, 0x85D, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(DEPOT_L, 0x840, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(FRIGATE_U, 0x62A, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(FRIGATE_L, 0x677, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(JUNGLE_U, 0x407, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(JUNGLE_L, 0x8B7, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(STREETS_U, 0x8ED, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(STREETS_L, 0x934, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(RUNWAY_U, 0x730, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(RUNWAY_L, 0x701, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(BUNKERI_U, 0x785, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(BUNKERI_L, 0x862, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(BUNKERII_U, 0x799, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(BUNKERII_L, 0x86E, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(SURFACEI_U, 0x71B, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(SURFACEI_L, 0x5F3, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(SURFACEII_U, 0x733, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(SURFACEII_L, 0x758, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(SILO_U, 0xA27, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(SILO_L, 0xAA4, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(STATUE_U, 0x761, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(STATUE_L, 0x6F4, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(TRAIN_U, 0x632, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(TRAIN_L, 0x68B, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(MP_ARCHIVES, 0x97D, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(MP_CONTROL, 0xA2E, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(MP_FACILITY, 0x998, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
@@ -2596,10 +2596,10 @@ IMAGE(MP_SURFACE2, 0x833, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(MP_SILO, 0xA6E, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(MP_STATUE, 0x837, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(MP_TRAIN, 0x8E6, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2598, 0x529, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2599, 0x51E, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2600, 0x584, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2601, 0x5A6, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(MI6_UL, 0x529, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(MI6_UR, 0x51E, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(MI6_LL, 0x584, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(MI6_LR, 0x5A6, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(BROSNAN_UL, 0x57F, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(BROSNAN_UR, 0x5FD, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(BROSNAN_LL, 0x4CA, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
@@ -2616,19 +2616,19 @@ IMAGE(DALTON_UL, 0x594, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(DALTON_UR, 0x4BE, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(DALTON_LL, 0x54C, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(DALTON_LR, 0x513, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2618, 0x73D, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2619, 0x6E2, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2620, 0x6F4, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2621, 0x6DE, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2622, 0x66F, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2623, 0x6C4, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2624, 0x59B, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2625, 0x75A, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2626, 0x3A3, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2627, 0x67A, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2628, 0x6F2, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2629, 0x28A, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(2630, 0x542, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(CLASSIFIED_L, 0x73D, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(CLASSIFIED_R, 0x6E2, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(CONFIDENTIAL_L, 0x6F4, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(CONFIDENTIAL_R, 0x6DE, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(EYESONLY_L, 0x66F, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(EYESONLY_R, 0x6C4, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(FORYOUR_L, 0x59B, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(FORYOUR_R, 0x75A, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(FOLDERTEX, 0x3A3, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(OHMSS_L, 0x67A, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(OHMSS_R, 0x6F2, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(PAPERTEX, 0x28A, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(MI6, 0x542, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(DOT, 0x35, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(BORIS_UL, 0x4B8, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(BORIS_UR, 0x523, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
|
||||
@@ -19,9 +19,8 @@ $(BUILD_DIR)/$(OBSEG_DIR)/setup/%.o: $(OBSEG_DIR)/setup/$(COUNTRYCODE)/%.c
|
||||
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/setup/%.o: $(OBSEG_DIR)/setup/%.c
|
||||
# $(CC) -c $(CFLAGS) -o $@ -O2 $<
|
||||
$(call PRINT_STATUS,CompilingSETUP:,$<,$@)
|
||||
# convert AI_PRINT commands from readable to byte-array
|
||||
$(ConvertAIPRINT) $< | $(CC) -c $(CFLAGS) tools/asmpreproc/include-stdin.c -o $@ $(OPTIMIZATION)
|
||||
$(ConvertAIPRINT) $< | $(CC) -c $(CFLAGS) tools/asm-processor/include-stdin.c -o $@ $(OPTIMIZATION)
|
||||
|
||||
SETUP_NAMES := \
|
||||
Ump_setupameZ \
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
struct BriefStruct UbriefarchZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LARCH, 0), /* Background */
|
||||
TEXT(LARCH, 1), /* M Briefing */
|
||||
TEXT(LARCH, 2), /* Q Branch */
|
||||
TEXT(LARCH, 3) /* Moneypenny */
|
||||
getStringID(LARCH, 0), /* Background */
|
||||
getStringID(LARCH, 1), /* M Briefing */
|
||||
getStringID(LARCH, 2), /* Q Branch */
|
||||
getStringID(LARCH, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LARCH, 4), DIFFICULTY_AGENT}, /* Escape from interrogation room */
|
||||
{TEXT(LARCH, 5), DIFFICULTY_AGENT}, /* Find Natalya */
|
||||
{TEXT(LARCH, 6), DIFFICULTY_SECRET}, /* Recover helicopter black box */
|
||||
{TEXT(LARCH, 7), DIFFICULTY_AGENT}, /* Escape with Natalya */
|
||||
{getStringID(LARCH, 4), DIFFICULTY_AGENT}, /* Escape from interrogation room */
|
||||
{getStringID(LARCH, 5), DIFFICULTY_AGENT}, /* Find Natalya */
|
||||
{getStringID(LARCH, 6), DIFFICULTY_SECRET}, /* Recover helicopter black box */
|
||||
{getStringID(LARCH, 7), DIFFICULTY_AGENT}, /* Escape with Natalya */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
|
||||
struct BriefStruct UbriefarkZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LARK, 0), /* Background */
|
||||
TEXT(LARK, 1), /* M Briefing */
|
||||
TEXT(LARK, 2), /* Q Branch */
|
||||
TEXT(LARK, 3) /* Moneypenny */
|
||||
getStringID(LARK, 0), /* Background */
|
||||
getStringID(LARK, 1), /* M Briefing */
|
||||
getStringID(LARK, 2), /* Q Branch */
|
||||
getStringID(LARK, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LARK, 4), DIFFICULTY_AGENT}, /* Gain entry to lab area */
|
||||
{TEXT(LARK, 5), DIFFICULTY_SECRET}, /* Contact double agent */
|
||||
{TEXT(LARK, 6), DIFFICULTY_AGENT}, /* Rendezvous with 006 */
|
||||
{TEXT(LARK, 7), DIFFICULTY_AGENT}, /* Destroy all tanks in bottling room */
|
||||
{TEXT(LARK, 8), DIFFICULTY_AGENT}, /* Minimize scientist casualties */
|
||||
{getStringID(LARK, 4), DIFFICULTY_AGENT}, /* Gain entry to lab area */
|
||||
{getStringID(LARK, 5), DIFFICULTY_SECRET}, /* Contact double agent */
|
||||
{getStringID(LARK, 6), DIFFICULTY_AGENT}, /* Rendezvous with 006 */
|
||||
{getStringID(LARK, 7), DIFFICULTY_AGENT}, /* Destroy all tanks in bottling room */
|
||||
{getStringID(LARK, 8), DIFFICULTY_AGENT}, /* Minimize scientist casualties */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
struct BriefStruct UbriefaztZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LAZT, 0), /* Background */
|
||||
TEXT(LAZT, 1), /* M Briefing */
|
||||
TEXT(LAZT, 2), /* Q Branch */
|
||||
TEXT(LAZT, 3) /* Moneypenny */
|
||||
getStringID(LAZT, 0), /* Background */
|
||||
getStringID(LAZT, 1), /* M Briefing */
|
||||
getStringID(LAZT, 2), /* Q Branch */
|
||||
getStringID(LAZT, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LAZT, 4), DIFFICULTY_AGENT}, /* Reprogram shuttle guidance */
|
||||
{TEXT(LAZT, 5), DIFFICULTY_AGENT}, /* Launch shuttle */
|
||||
{getStringID(LAZT, 4), DIFFICULTY_AGENT}, /* Reprogram shuttle guidance */
|
||||
{getStringID(LAZT, 5), DIFFICULTY_AGENT}, /* Launch shuttle */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
|
||||
struct BriefStruct UbriefcaveZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LCAVE, 0), /* Background */
|
||||
TEXT(LCAVE, 1), /* M Briefing */
|
||||
TEXT(LCAVE, 2), /* Q Branch */
|
||||
TEXT(LCAVE, 3) /* Moneypenny */
|
||||
getStringID(LCAVE, 0), /* Background */
|
||||
getStringID(LCAVE, 1), /* M Briefing */
|
||||
getStringID(LCAVE, 2), /* Q Branch */
|
||||
getStringID(LCAVE, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LCAVE, 4), DIFFICULTY_SECRET}, /* Destroy inlet pump controls */
|
||||
{TEXT(LCAVE, 5), DIFFICULTY_SECRET}, /* Destroy outlet pump controls */
|
||||
{TEXT(LCAVE, 6), DIFFICULTY_SECRET}, /* Destroy master control console */
|
||||
{TEXT(LCAVE, 7), DIFFICULTY_00}, /* Use radio to contact Jack Wade */
|
||||
{getStringID(LCAVE, 4), DIFFICULTY_SECRET}, /* Destroy inlet pump controls */
|
||||
{getStringID(LCAVE, 5), DIFFICULTY_SECRET}, /* Destroy outlet pump controls */
|
||||
{getStringID(LCAVE, 6), DIFFICULTY_SECRET}, /* Destroy master control console */
|
||||
{getStringID(LCAVE, 7), DIFFICULTY_00}, /* Use radio to contact Jack Wade */
|
||||
/*{TEXT(LCAVE, 8), DIFFICULTY_AGENT},*/ /* Pursue Trevelyan */
|
||||
{TEXT(LCAVE, 9), DIFFICULTY_AGENT}, /* Minimize scientist casualties */
|
||||
{getStringID(LCAVE, 9), DIFFICULTY_AGENT}, /* Minimize scientist casualties */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
|
||||
struct BriefStruct UbriefcontrolZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LAREC, 0), /* Background */
|
||||
TEXT(LAREC, 1), /* M Briefing */
|
||||
TEXT(LAREC, 2), /* Q Branch */
|
||||
TEXT(LAREC, 3) /* Moneypenny */
|
||||
getStringID(LAREC, 0), /* Background */
|
||||
getStringID(LAREC, 1), /* M Briefing */
|
||||
getStringID(LAREC, 2), /* Q Branch */
|
||||
getStringID(LAREC, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LAREC, 4), DIFFICULTY_AGENT}, /* Protect Natalya */
|
||||
{TEXT(LAREC, 5), DIFFICULTY_AGENT}, /* Disable Goldeneye satellite */
|
||||
{TEXT(LAREC, 6), DIFFICULTY_AGENT}, /* Destroy armored mainframes */
|
||||
{getStringID(LAREC, 4), DIFFICULTY_AGENT}, /* Protect Natalya */
|
||||
{getStringID(LAREC, 5), DIFFICULTY_AGENT}, /* Disable Goldeneye satellite */
|
||||
{getStringID(LAREC, 6), DIFFICULTY_AGENT}, /* Destroy armored mainframes */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
struct BriefStruct UbriefcradZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LCRAD, 0), /* Background */
|
||||
TEXT(LCRAD, 1), /* M Briefing */
|
||||
TEXT(LCRAD, 2), /* Q Branch */
|
||||
TEXT(LCRAD, 3) /* Moneypenny */
|
||||
getStringID(LCRAD, 0), /* Background */
|
||||
getStringID(LCRAD, 1), /* M Briefing */
|
||||
getStringID(LCRAD, 2), /* Q Branch */
|
||||
getStringID(LCRAD, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LCRAD, 4), DIFFICULTY_AGENT}, /* Destroy control console */
|
||||
{TEXT(LCRAD, 5), DIFFICULTY_AGENT}, /* Settle the score with Trevelyan */
|
||||
{getStringID(LCRAD, 4), DIFFICULTY_AGENT}, /* Destroy control console */
|
||||
{getStringID(LCRAD, 5), DIFFICULTY_AGENT}, /* Settle the score with Trevelyan */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
struct BriefStruct UbriefcrypZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LCRYP, 0), /* Background */
|
||||
TEXT(LCRYP, 1), /* M Briefing */
|
||||
TEXT(LCRYP, 2), /* Q Branch */
|
||||
TEXT(LCRYP, 3) /* Moneypenny */
|
||||
getStringID(LCRYP, 0), /* Background */
|
||||
getStringID(LCRYP, 1), /* M Briefing */
|
||||
getStringID(LCRYP, 2), /* Q Branch */
|
||||
getStringID(LCRYP, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LCRYP, 4), DIFFICULTY_AGENT}, /* Recover the golden gun */
|
||||
{TEXT(LCRYP, 5), DIFFICULTY_AGENT}, /* Defeat Baron Samedi? */
|
||||
{getStringID(LCRYP, 4), DIFFICULTY_AGENT}, /* Recover the golden gun */
|
||||
{getStringID(LCRYP, 5), DIFFICULTY_AGENT}, /* Defeat Baron Samedi? */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
struct BriefStruct UbriefdamZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LDAM, 0), /* Background */
|
||||
TEXT(LDAM, 1), /* M Briefing */
|
||||
TEXT(LDAM, 2), /* Q Branch */
|
||||
TEXT(LDAM, 3) /* Moneypenny */
|
||||
getStringID(LDAM, 0), /* Background */
|
||||
getStringID(LDAM, 1), /* M Briefing */
|
||||
getStringID(LDAM, 2), /* Q Branch */
|
||||
getStringID(LDAM, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LDAM, 4), DIFFICULTY_SECRET}, /* Neutralize all alarms */
|
||||
{TEXT(LDAM, 5), DIFFICULTY_00}, /* Install covert modem */
|
||||
{TEXT(LDAM, 6), DIFFICULTY_00}, /* Intercept data backup */
|
||||
{TEXT(LDAM, 7), DIFFICULTY_AGENT}, /* Bungee jump from platform */
|
||||
{getStringID(LDAM, 4), DIFFICULTY_SECRET}, /* Neutralize all alarms */
|
||||
{getStringID(LDAM, 5), DIFFICULTY_00}, /* Install covert modem */
|
||||
{getStringID(LDAM, 6), DIFFICULTY_00}, /* Intercept data backup */
|
||||
{getStringID(LDAM, 7), DIFFICULTY_AGENT}, /* Bungee jump from platform */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
|
||||
struct BriefStruct UbriefdepoZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LDEPO, 0), /* Background */
|
||||
TEXT(LDEPO, 1), /* M Briefing */
|
||||
TEXT(LDEPO, 2), /* Q Branch */
|
||||
TEXT(LDEPO, 3) /* Moneypenny */
|
||||
getStringID(LDEPO, 0), /* Background */
|
||||
getStringID(LDEPO, 1), /* M Briefing */
|
||||
getStringID(LDEPO, 2), /* Q Branch */
|
||||
getStringID(LDEPO, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LDEPO, 4), DIFFICULTY_00}, /* Destroy illegal arms cache */
|
||||
{TEXT(LDEPO, 5), DIFFICULTY_SECRET}, /* Destroy computer network */
|
||||
{TEXT(LDEPO, 6), DIFFICULTY_SECRET}, /* Obtain safe key */
|
||||
{TEXT(LDEPO, 7), DIFFICULTY_SECRET}, /* Recover helicopter blueprints */
|
||||
{TEXT(LDEPO, 8), DIFFICULTY_AGENT}, /* Locate Trevelyan's train */
|
||||
{getStringID(LDEPO, 4), DIFFICULTY_00}, /* Destroy illegal arms cache */
|
||||
{getStringID(LDEPO, 5), DIFFICULTY_SECRET}, /* Destroy computer network */
|
||||
{getStringID(LDEPO, 6), DIFFICULTY_SECRET}, /* Obtain safe key */
|
||||
{getStringID(LDEPO, 7), DIFFICULTY_SECRET}, /* Recover helicopter blueprints */
|
||||
{getStringID(LDEPO, 8), DIFFICULTY_AGENT}, /* Locate Trevelyan's train */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
struct BriefStruct UbriefdestZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LDEST, 0), /* Background */
|
||||
TEXT(LDEST, 1), /* M Briefing */
|
||||
TEXT(LDEST, 2), /* Q Branch */
|
||||
TEXT(LDEST, 3) /* Moneypenny */
|
||||
getStringID(LDEST, 0), /* Background */
|
||||
getStringID(LDEST, 1), /* M Briefing */
|
||||
getStringID(LDEST, 2), /* Q Branch */
|
||||
getStringID(LDEST, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LDEST, 4), DIFFICULTY_AGENT}, /* Rescue Hostages */
|
||||
{TEXT(LDEST, 5), DIFFICULTY_SECRET}, /* Disarm bridge bomb */
|
||||
{TEXT(LDEST, 6), DIFFICULTY_SECRET}, /* Disarm engine room bomb */
|
||||
{TEXT(LDEST, 7), DIFFICULTY_AGENT}, /* Plant tracking bug on helicopter */
|
||||
{getStringID(LDEST, 4), DIFFICULTY_AGENT}, /* Rescue Hostages */
|
||||
{getStringID(LDEST, 5), DIFFICULTY_SECRET}, /* Disarm bridge bomb */
|
||||
{getStringID(LDEST, 6), DIFFICULTY_SECRET}, /* Disarm engine room bomb */
|
||||
{getStringID(LDEST, 7), DIFFICULTY_AGENT}, /* Plant tracking bug on helicopter */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
struct BriefStruct UbriefjunZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LJUN, 0), /* Background */
|
||||
TEXT(LJUN, 1), /* M Briefing */
|
||||
TEXT(LJUN, 2), /* Q Branch */
|
||||
TEXT(LJUN, 3) /* Moneypenny */
|
||||
getStringID(LJUN, 0), /* Background */
|
||||
getStringID(LJUN, 1), /* M Briefing */
|
||||
getStringID(LJUN, 2), /* Q Branch */
|
||||
getStringID(LJUN, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LJUN, 4), DIFFICULTY_AGENT}, /* Destroy drone guns */
|
||||
{TEXT(LJUN, 5), DIFFICULTY_AGENT}, /* Eliminate Xenia */
|
||||
{TEXT(LJUN, 6), DIFFICULTY_SECRET}, /* Blow up ammo dump */
|
||||
{TEXT(LJUN, 7), DIFFICULTY_AGENT}, /* Escort Natalya to Janus Base */
|
||||
{getStringID(LJUN, 4), DIFFICULTY_AGENT}, /* Destroy drone guns */
|
||||
{getStringID(LJUN, 5), DIFFICULTY_AGENT}, /* Eliminate Xenia */
|
||||
{getStringID(LJUN, 6), DIFFICULTY_SECRET}, /* Blow up ammo dump */
|
||||
{getStringID(LJUN, 7), DIFFICULTY_AGENT}, /* Escort Natalya to Janus Base */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
|
||||
struct BriefStruct UbriefpeteZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LPETE, 0), /* Background */
|
||||
TEXT(LPETE, 1), /* M Briefing */
|
||||
TEXT(LPETE, 2), /* Q Branch */
|
||||
TEXT(LPETE, 3) /* Moneypenny */
|
||||
getStringID(LPETE, 0), /* Background */
|
||||
getStringID(LPETE, 1), /* M Briefing */
|
||||
getStringID(LPETE, 2), /* Q Branch */
|
||||
getStringID(LPETE, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LPETE, 6), DIFFICULTY_SECRET}, /* Contact Valentin */
|
||||
{TEXT(LPETE, 4), DIFFICULTY_AGENT}, /* Pursue Ourumov and Natalya */
|
||||
{TEXT(LPETE, 5), DIFFICULTY_AGENT}, /* Minimize civilian casualties */
|
||||
{getStringID(LPETE, 6), DIFFICULTY_SECRET}, /* Contact Valentin */
|
||||
{getStringID(LPETE, 4), DIFFICULTY_AGENT}, /* Pursue Ourumov and Natalya */
|
||||
{getStringID(LPETE, 5), DIFFICULTY_AGENT}, /* Minimize civilian casualties */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
struct BriefStruct UbriefrunZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LRUN, 0), /* Background */
|
||||
TEXT(LRUN, 1), /* M Briefing */
|
||||
TEXT(LRUN, 2), /* Q Branch */
|
||||
TEXT(LRUN, 3) /* Moneypenny */
|
||||
getStringID(LRUN, 0), /* Background */
|
||||
getStringID(LRUN, 1), /* M Briefing */
|
||||
getStringID(LRUN, 2), /* Q Branch */
|
||||
getStringID(LRUN, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LRUN, 4), DIFFICULTY_AGENT}, /* Find plane ignition key */
|
||||
{TEXT(LRUN, 5), DIFFICULTY_00}, /* Destroy heavy gun emplacements */
|
||||
{TEXT(LRUN, 6), DIFFICULTY_SECRET}, /* Destroy missile battery */
|
||||
{TEXT(LRUN, 7), DIFFICULTY_AGENT}, /* Escape in plane */
|
||||
{getStringID(LRUN, 4), DIFFICULTY_AGENT}, /* Find plane ignition key */
|
||||
{getStringID(LRUN, 5), DIFFICULTY_00}, /* Destroy heavy gun emplacements */
|
||||
{getStringID(LRUN, 6), DIFFICULTY_SECRET}, /* Destroy missile battery */
|
||||
{getStringID(LRUN, 7), DIFFICULTY_AGENT}, /* Escape in plane */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
|
||||
struct BriefStruct UbriefsevbZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LSEVB, 0), /* Background */
|
||||
TEXT(LSEVB, 1), /* M Briefing */
|
||||
TEXT(LSEVB, 2), /* Q Branch */
|
||||
TEXT(LSEVB, 3) /* Moneypenny */
|
||||
getStringID(LSEVB, 0), /* Background */
|
||||
getStringID(LSEVB, 1), /* M Briefing */
|
||||
getStringID(LSEVB, 2), /* Q Branch */
|
||||
getStringID(LSEVB, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LSEVB, 4), DIFFICULTY_SECRET}, /* Compare staff / casualty lists */
|
||||
{TEXT(LSEVB, 5), DIFFICULTY_AGENT}, /* Recover CCTV tape */
|
||||
{TEXT(LSEVB, 6), DIFFICULTY_SECRET}, /* Disable all security cameras */
|
||||
{TEXT(LSEVB, 7), DIFFICULTY_00}, /* Recover Goldeneye operations manual */
|
||||
{TEXT(LSEVB, 8), DIFFICULTY_AGENT}, /* Escape with Natalya */
|
||||
{getStringID(LSEVB, 4), DIFFICULTY_SECRET}, /* Compare staff / casualty lists */
|
||||
{getStringID(LSEVB, 5), DIFFICULTY_AGENT}, /* Recover CCTV tape */
|
||||
{getStringID(LSEVB, 6), DIFFICULTY_SECRET}, /* Disable all security cameras */
|
||||
{getStringID(LSEVB, 7), DIFFICULTY_00}, /* Recover Goldeneye operations manual */
|
||||
{getStringID(LSEVB, 8), DIFFICULTY_AGENT}, /* Escape with Natalya */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
|
||||
struct BriefStruct UbriefsevbunkerZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LSEV, 0), /* Background */
|
||||
TEXT(LSEV, 1), /* M Briefing */
|
||||
TEXT(LSEV, 2), /* Q Branch */
|
||||
TEXT(LSEV, 3) /* Moneypenny */
|
||||
getStringID(LSEV, 0), /* Background */
|
||||
getStringID(LSEV, 1), /* M Briefing */
|
||||
getStringID(LSEV, 2), /* Q Branch */
|
||||
getStringID(LSEV, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LSEV, 4), DIFFICULTY_SECRET}, /* Disrupt all surveillance equipment */
|
||||
{TEXT(LSEV, 5), DIFFICULTY_AGENT}, /* Copy Goldeneye key and leave original */
|
||||
{TEXT(LSEV, 6), DIFFICULTY_00}, /* Get personnel to activate computer */
|
||||
{TEXT(LSEV, 7), DIFFICULTY_00}, /* Download data from computer */
|
||||
{TEXT(LSEV, 8), DIFFICULTY_AGENT}, /* Photograph main video screen */
|
||||
{getStringID(LSEV, 4), DIFFICULTY_SECRET}, /* Disrupt all surveillance equipment */
|
||||
{getStringID(LSEV, 5), DIFFICULTY_AGENT}, /* Copy Goldeneye key and leave original */
|
||||
{getStringID(LSEV, 6), DIFFICULTY_00}, /* Get personnel to activate computer */
|
||||
{getStringID(LSEV, 7), DIFFICULTY_00}, /* Download data from computer */
|
||||
{getStringID(LSEV, 8), DIFFICULTY_AGENT}, /* Photograph main video screen */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
struct BriefStruct UbriefsevxZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LSEVX, 0), /* Background */
|
||||
TEXT(LSEVX, 1), /* M Briefing */
|
||||
TEXT(LSEVX, 2), /* Q Branch */
|
||||
TEXT(LSEVX, 3) /* Moneypenny */
|
||||
getStringID(LSEVX, 0), /* Background */
|
||||
getStringID(LSEVX, 1), /* M Briefing */
|
||||
getStringID(LSEVX, 2), /* Q Branch */
|
||||
getStringID(LSEVX, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LSEVX, 4), DIFFICULTY_AGENT}, /* Power down communications dish */
|
||||
{TEXT(LSEVX, 5), DIFFICULTY_SECRET}, /* Obtain safe key */
|
||||
{TEXT(LSEVX, 6), DIFFICULTY_SECRET}, /* Steal building plans */
|
||||
{TEXT(LSEVX, 7), DIFFICULTY_AGENT}, /* Enter base via ventilation tower */
|
||||
{getStringID(LSEVX, 4), DIFFICULTY_AGENT}, /* Power down communications dish */
|
||||
{getStringID(LSEVX, 5), DIFFICULTY_SECRET}, /* Obtain safe key */
|
||||
{getStringID(LSEVX, 6), DIFFICULTY_SECRET}, /* Steal building plans */
|
||||
{getStringID(LSEVX, 7), DIFFICULTY_AGENT}, /* Enter base via ventilation tower */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
struct BriefStruct UbriefsevxbZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LSEVXB, 0), /* Background */
|
||||
TEXT(LSEVXB, 1), /* M Briefing */
|
||||
TEXT(LSEVXB, 2), /* Q Branch */
|
||||
TEXT(LSEVXB, 3) /* Moneypenny */
|
||||
getStringID(LSEVXB, 0), /* Background */
|
||||
getStringID(LSEVXB, 1), /* M Briefing */
|
||||
getStringID(LSEVXB, 2), /* Q Branch */
|
||||
getStringID(LSEVXB, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LSEVXB, 4), DIFFICULTY_00}, /* Disrupt all surveillance equipment */
|
||||
{TEXT(LSEVXB, 5), DIFFICULTY_AGENT}, /* Break communications link to bunker */
|
||||
{TEXT(LSEVXB, 6), DIFFICULTY_SECRET}, /* Disable Spetznaz support aircraft */
|
||||
{TEXT(LSEVXB, 7), DIFFICULTY_AGENT}, /* Gain entry to bunker */
|
||||
{getStringID(LSEVXB, 4), DIFFICULTY_00}, /* Disrupt all surveillance equipment */
|
||||
{getStringID(LSEVXB, 5), DIFFICULTY_AGENT}, /* Break communications link to bunker */
|
||||
{getStringID(LSEVXB, 6), DIFFICULTY_SECRET}, /* Disable Spetznaz support aircraft */
|
||||
{getStringID(LSEVXB, 7), DIFFICULTY_AGENT}, /* Gain entry to bunker */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
|
||||
struct BriefStruct UbriefsiloZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LSILO, 0), /* Background */
|
||||
TEXT(LSILO, 1), /* M Briefing */
|
||||
TEXT(LSILO, 2), /* Q Branch */
|
||||
TEXT(LSILO, 3) /* Moneypenny */
|
||||
getStringID(LSILO, 0), /* Background */
|
||||
getStringID(LSILO, 1), /* M Briefing */
|
||||
getStringID(LSILO, 2), /* Q Branch */
|
||||
getStringID(LSILO, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LSILO, 4), DIFFICULTY_00}, /* Plant bombs in fuel rooms */
|
||||
{TEXT(LSILO, 5), DIFFICULTY_AGENT}, /* Photograph satellite */
|
||||
{TEXT(LSILO, 6), DIFFICULTY_SECRET}, /* Obtain telemetric data */
|
||||
{TEXT(LSILO, 7), DIFFICULTY_SECRET}, /* Retrieve satellite circuitry */
|
||||
{TEXT(LSILO, 8), DIFFICULTY_AGENT}, /* Minimize scientist casualties */
|
||||
{getStringID(LSILO, 4), DIFFICULTY_00}, /* Plant bombs in fuel rooms */
|
||||
{getStringID(LSILO, 5), DIFFICULTY_AGENT}, /* Photograph satellite */
|
||||
{getStringID(LSILO, 6), DIFFICULTY_SECRET}, /* Obtain telemetric data */
|
||||
{getStringID(LSILO, 7), DIFFICULTY_SECRET}, /* Retrieve satellite circuitry */
|
||||
{getStringID(LSILO, 8), DIFFICULTY_AGENT}, /* Minimize scientist casualties */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
|
||||
struct BriefStruct UbriefstatueZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LSTAT, 0), /* Background */
|
||||
TEXT(LSTAT, 1), /* M Briefing */
|
||||
TEXT(LSTAT, 2), /* Q Branch */
|
||||
TEXT(LSTAT, 3) /* Moneypenny */
|
||||
getStringID(LSTAT, 0), /* Background */
|
||||
getStringID(LSTAT, 1), /* M Briefing */
|
||||
getStringID(LSTAT, 2), /* Q Branch */
|
||||
getStringID(LSTAT, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LSTAT, 4), DIFFICULTY_AGENT}, /* Contact Valentin */
|
||||
{TEXT(LSTAT, 5), DIFFICULTY_AGENT}, /* Confront and unmask Janus */
|
||||
{TEXT(LSTAT, 6), DIFFICULTY_AGENT}, /* Locate helicopter */
|
||||
{TEXT(LSTAT, 7), DIFFICULTY_AGENT}, /* Rescue Natalya */
|
||||
{TEXT(LSTAT, 8), DIFFICULTY_AGENT}, /* Find flight recorder */
|
||||
{getStringID(LSTAT, 4), DIFFICULTY_AGENT}, /* Contact Valentin */
|
||||
{getStringID(LSTAT, 5), DIFFICULTY_AGENT}, /* Confront and unmask Janus */
|
||||
{getStringID(LSTAT, 6), DIFFICULTY_AGENT}, /* Locate helicopter */
|
||||
{getStringID(LSTAT, 7), DIFFICULTY_AGENT}, /* Rescue Natalya */
|
||||
{getStringID(LSTAT, 8), DIFFICULTY_AGENT}, /* Find flight recorder */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
|
||||
struct BriefStruct UbrieftraZ = {
|
||||
{ /* Mission Briefing */
|
||||
TEXT(LTRA, 0), /* Background */
|
||||
TEXT(LTRA, 1), /* M Briefing */
|
||||
TEXT(LTRA, 2), /* Q Branch */
|
||||
TEXT(LTRA, 3) /* Moneypenny */
|
||||
getStringID(LTRA, 0), /* Background */
|
||||
getStringID(LTRA, 1), /* M Briefing */
|
||||
getStringID(LTRA, 2), /* Q Branch */
|
||||
getStringID(LTRA, 3) /* Moneypenny */
|
||||
},
|
||||
{ /* Objectives (Text and Difficult) */
|
||||
{TEXT(LTRA, 4), DIFFICULTY_AGENT}, /* Destroy brake units */
|
||||
{TEXT(LTRA, 5), DIFFICULTY_AGENT}, /* Rescue Natalya */
|
||||
{TEXT(LTRA, 6), DIFFICULTY_SECRET}, /* Locate Janus secret base */
|
||||
{TEXT(LTRA, 7), DIFFICULTY_00}, /* Crack Boris' password */
|
||||
{TEXT(LTRA, 8), DIFFICULTY_AGENT}, /* Escape to safety */
|
||||
{getStringID(LTRA, 4), DIFFICULTY_AGENT}, /* Destroy brake units */
|
||||
{getStringID(LTRA, 5), DIFFICULTY_AGENT}, /* Rescue Natalya */
|
||||
{getStringID(LTRA, 6), DIFFICULTY_SECRET}, /* Locate Janus secret base */
|
||||
{getStringID(LTRA, 7), DIFFICULTY_00}, /* Crack Boris' password */
|
||||
{getStringID(LTRA, 8), DIFFICULTY_AGENT}, /* Escape to safety */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
{0, 0}, /* Not assigned */
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
/*NAME, NOMODEL, STATS, UPPERTEXTID, LOWERTEXTID, POSX, POSY, POSZ, XROT, YROT, WOCTEXT, EQUIPTEXT, EQUIPX, EQUIPY, EQUIPZ*/
|
||||
GUNFILERECORD( fist, 0, GUNSTATS(fist), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_76), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_76), TEXT(LGUN, GUN_STR_CD), 10.0, 10.0, 1000.0)
|
||||
GUNFILERECORD( fist, 0, GUNSTATS(fist), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_76_UNARMED_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_76_UNARMED_LF), getStringID(LGUN, GUN_STR_CD_UNARMED_LF), 10.0, 10.0, 1000.0)
|
||||
@@ -2,90 +2,90 @@ GunModelFileRecord gitem_structs[] = {
|
||||
{ NULL, NULL, TRUE, NULL, 0x9883, 0x9811, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9811, 0x9811, 10.0, 10.0, 1000.0},
|
||||
#include <assets/obseg/gun/fist/gunFileRecord.inc.c>
|
||||
#include <assets/obseg/gun/knife/gunFileRecord.inc.c>
|
||||
GUNFILERECORD( throwknife, 0, GUNSTATS(throwknife), TEXT(LGUN, GUN_STR_71), TEXT(LGUN, GUN_STR_06), 200.0, 51.0, 1327.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_70), TEXT(LGUN, GUN_STR_CA), 38.0, 118.0, 800.0)
|
||||
GUNFILERECORD( wppk, 0, GUNSTATS(wppk), TEXT(LGUN, GUN_STR_57), TEXT(LGUN, GUN_STR_01), 20.0, 97.0, 579.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_56), TEXT(LGUN, GUN_STR_BA), 94.0, 2.0, 356.0)
|
||||
GUNFILERECORD( wppksil, 0, GUNSTATS(wppksil), TEXT(LGUN, GUN_STR_03), TEXT(LGUN, GUN_STR_10), 26.0, 162.0, 668.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_55), TEXT(LGUN, GUN_STR_B9), 169.0, 5.0, 535.0)
|
||||
GUNFILERECORD( tt33, 0, GUNSTATS(tt33), TEXT(LGUN, GUN_STR_04), TEXT(LGUN, GUN_STR_32), 22.0, 128.0, 709.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_2A), TEXT(LGUN, GUN_STR_9A), 124.0, 14.0, 455.0)
|
||||
GUNFILERECORD( skorpion, 0, GUNSTATS(skorpion), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_6B), 46.0, 124.0, 785.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_6B), TEXT(LGUN, GUN_STR_C6), 124.0, 32.0, 545.0)
|
||||
GUNFILERECORD( ak47, 0, GUNSTATS(ak47), TEXT(LGUN, GUN_STR_08), TEXT(LGUN, GUN_STR_68), -29.0, 307.0, 1410.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_42), TEXT(LGUN, GUN_STR_AB), 304.0, -31.0, 1020.0)
|
||||
GUNFILERECORD( uzi, 0, GUNSTATS(uzi), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_82), -18.0, 57.0, 1198.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_82), TEXT(LGUN, GUN_STR_D7), 68.0, -49.0, 667.0)
|
||||
GUNFILERECORD( mp5k, 0, GUNSTATS(mp5k), TEXT(LGUN, GUN_STR_00), TEXT(LGUN, GUN_STR_2F), 12.0, 112.0, 1300.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_29), TEXT(LGUN, GUN_STR_96), 123.0, -2.0, 628.0)
|
||||
GUNFILERECORD( mp5ksil, 0, GUNSTATS(mp5ksil), TEXT(LGUN, GUN_STR_00), TEXT(LGUN, GUN_STR_10), 14.0, 227.0, 1300.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_28), TEXT(LGUN, GUN_STR_95), 226.0, -10.0, 834.0)
|
||||
GUNFILERECORD( spectre, 0, GUNSTATS(spectre), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_58), -4.0, 144.0, 1128.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_58), TEXT(LGUN, GUN_STR_B4), 146.0, -18.0, 801.0)
|
||||
GUNFILERECORD( m16, 0, GUNSTATS(m16), TEXT(LGUN, GUN_STR_75), TEXT(LGUN, GUN_STR_12), 25.0, 251.0, 1796.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_74), TEXT(LGUN, GUN_STR_84), 246.0, -45.0, 1497.0)
|
||||
GUNFILERECORD( fnp90, 0, GUNSTATS(fnp90), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_5E), 88.0, -44.0, 1107.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_5E), TEXT(LGUN, GUN_STR_BC), -44.0, 31.0, 867.0)
|
||||
GUNFILERECORD( shotgun, 0, GUNSTATS(shotgun), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_64), 39.0, 283.0, 1224.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_64), TEXT(LGUN, GUN_STR_C1), 284.0, -22.0, 999.0)
|
||||
GUNFILERECORD( autoshot, 0, GUNSTATS(autoshot), TEXT(LGUN, GUN_STR_16), TEXT(LGUN, GUN_STR_0C), 73.0, 285.0, 1224.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_15), TEXT(LGUN, GUN_STR_86), 284.0, 4.0, 980.0)
|
||||
GUNFILERECORD( sniperrifle, 0, GUNSTATS(sniperrifle), TEXT(LGUN, GUN_STR_67), TEXT(LGUN, GUN_STR_0A), 49.0, 265.0, 1760.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_66), TEXT(LGUN, GUN_STR_C3), 268.0, 14.0, 1497.0)
|
||||
GUNFILERECORD( ruger, 0, GUNSTATS(ruger), TEXT(LGUN, GUN_STR_26), TEXT(LGUN, GUN_STR_4C), 47.0, 184.0, 769.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_25), TEXT(LGUN, GUN_STR_93), 182.0, 36.0, 604.0)
|
||||
GUNFILERECORD( goldengun, 0, GUNSTATS(goldengun), TEXT(LGUN, GUN_STR_3B), TEXT(LGUN, GUN_STR_05), 29.0, 146.0, 629.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_39), TEXT(LGUN, GUN_STR_A3), 144.0, 18.0, 464.0)
|
||||
GUNFILERECORD( silverwppk, 0, GUNSTATS(silverwppk), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_65), 20.0, 97.0, 579.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_65), TEXT(LGUN, GUN_STR_C2), 94.0, 2.0, 356.0)
|
||||
GUNFILERECORD( goldwppk, 0, GUNSTATS(goldwppk), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_38), 20.0, 97.0, 579.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_38), TEXT(LGUN, GUN_STR_A2), 94.0, 2.0, 356.0)
|
||||
GUNFILERECORD( laser, 0, GUNSTATS(laser), TEXT(LGUN, GUN_STR_52), TEXT(LGUN, GUN_STR_47), 67.0, 106.0, 738.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_51), TEXT(LGUN, GUN_STR_AC), 103.0, 21.0, 545.0)
|
||||
GUNFILERECORD( watchlaser, 0, GUNSTATS(watchlaser), TEXT(LGUN, GUN_STR_7F), TEXT(LGUN, GUN_STR_47), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_7B), TEXT(LGUN, GUN_STR_D2), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( grenadelaunch, 0, GUNSTATS(grenadelaunch), TEXT(LGUN, GUN_STR_3D), TEXT(LGUN, GUN_STR_48), 27.0, 279.0, 1152.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_3C), TEXT(LGUN, GUN_STR_A5), 284.0, -22.0, 960.0)
|
||||
GUNFILERECORD( rocketlaunch, 0, GUNSTATS(rocketlaunch), TEXT(LGUN, GUN_STR_0B), TEXT(LGUN, GUN_STR_48), 111.0, -50.0, 1624.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_61), TEXT(LGUN, GUN_STR_BF), -42.0, 16.0, 1381.0)
|
||||
GUNFILERECORD( grenade, 0, GUNSTATS(grenade), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_3D), 180.0, 0.0, 2745.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_3E), TEXT(LGUN, GUN_STR_A6), 0.0, 48.0, 1468.0)
|
||||
GUNFILERECORD( timedmine, 0, GUNSTATS(timedmine), TEXT(LGUN, GUN_STR_09), TEXT(LGUN, GUN_STR_0F), 8.0, 0.0, 364.0, 90.0, 0.0, TEXT(LGUN, GUN_STR_72), TEXT(LGUN, GUN_STR_CB), 0.0, -3.0, 179.0)
|
||||
GUNFILERECORD( proximitymine, 0, GUNSTATS(proximitymine), TEXT(LGUN, GUN_STR_02), TEXT(LGUN, GUN_STR_0D), 8.0, 0.0, 364.0, 90.0, 0.0, TEXT(LGUN, GUN_STR_5D), TEXT(LGUN, GUN_STR_BB), 0.0, -3.0, 179.0)
|
||||
GUNFILERECORD( remotemine, 0, GUNSTATS(remotemine), TEXT(LGUN, GUN_STR_07), TEXT(LGUN, GUN_STR_0E), 8.0, 0.0, 364.0, 90.0, 0.0, TEXT(LGUN, GUN_STR_60), TEXT(LGUN, GUN_STR_BE), 0.0, -3.0, 179.0)
|
||||
GUNFILERECORD( trigger, 0, GUNSTATS(trigger), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_2E), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_2E), TEXT(LGUN, GUN_STR_9B), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( taser, 0, GUNSTATS(taser), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_6F), 107.0, 49.0, 568.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_6F), TEXT(LGUN, GUN_STR_C9), 64.0, 80.0, 333.0)
|
||||
{ NULL, NULL, 0, GUNSTATS(tank), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_6E), 20.0, 97.0, 579.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_6E), TEXT(LGUN, GUN_STR_C8), 94.0, 2.0, 356.0},
|
||||
GUNFILERECORD( bombcase, 0, GUNSTATS(bombcase), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_1A), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_1A), TEXT(LGUN, GUN_STR_8A), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( plastique, 0, GUNSTATS(plastique), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_5B), 28.0, 0.0, 1062.0, 80.0, 90.0, TEXT(LGUN, GUN_STR_5B), TEXT(LGUN, GUN_STR_B7), 0.0, -16.0, 739.0)
|
||||
GUNFILERECORD( flarepistol, 0, GUNSTATS(flarepistol), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_34), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_34), TEXT(LGUN, GUN_STR_9F), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( pitongun, 0, GUNSTATS(pitongun), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_59), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_59), TEXT(LGUN, GUN_STR_B5), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( bungee, TRUE, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_1F), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_1F), TEXT(LGUN, GUN_STR_8F), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( doordecoder, TRUE, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_30), 12.0, 0.0, 364.0, 90.0, 90.0, TEXT(LGUN, GUN_STR_30), TEXT(LGUN, GUN_STR_9C), 0.0, -6.0, 199.0)
|
||||
GUNFILERECORD( bombdefuser, TRUE, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_1B), 14.0, 0.0, 379.0, 90.0, 90.0, TEXT(LGUN, GUN_STR_1B), TEXT(LGUN, GUN_STR_8B), 0.0, 0.0, 279.0)
|
||||
GUNFILERECORD( camera, 0, GUNSTATS(camera), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_20), 4.0, 0.0, 195.0, 20.0, 90.0, TEXT(LGUN, GUN_STR_20), TEXT(LGUN, GUN_STR_90), 0.0, -2.0, 144.0)
|
||||
GUNFILERECORD( lockexploder, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_4A), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_4A), TEXT(LGUN, GUN_STR_AE), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( doorexploder, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_31), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_31), TEXT(LGUN, GUN_STR_9D), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( briefcase, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_1C), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_1C), TEXT(LGUN, GUN_STR_8C), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( weaponcase, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_80), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_80), TEXT(LGUN, GUN_STR_D5), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( safecrackercase, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_63), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_62), TEXT(LGUN, GUN_STR_C0), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( keyanalysercase, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_44), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_43), TEXT(LGUN, GUN_STR_A9), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( bug, 0, GUNSTATS(bug), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_1E), 16.0, 0.0, 513.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_1E), TEXT(LGUN, GUN_STR_8E), 0.0, -6.0, 387.0)
|
||||
GUNFILERECORD( microcamera, 0, GUNSTATS(microcamera), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_4E), 8.0, 0.0, 310.0, 0.0, 270.0, TEXT(LGUN, GUN_STR_4E), TEXT(LGUN, GUN_STR_B0), 0.0, -8.0, 229.0)
|
||||
GUNFILERECORD( bugdetector, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_1D), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_1D), TEXT(LGUN, GUN_STR_8D), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( explosivefloppy, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_33), 12.0, 0.0, 336.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_33), TEXT(LGUN, GUN_STR_9E), 0.0, -4.0, 176.0)
|
||||
GUNFILERECORD( polarizedglasses, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_5C), 2.0, 0.0, 183.0, 15.0, 90.0, TEXT(LGUN, GUN_STR_5C), TEXT(LGUN, GUN_STR_B8), 0.0, 0.0, 147.0)
|
||||
GUNFILERECORD( darkglasses, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_2B), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_2B), TEXT(LGUN, GUN_STR_97), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( creditcard, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_27), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_27), TEXT(LGUN, GUN_STR_94), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( gaskeyring, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_35), 26.0, 0.0, 769.0, 90.0, 90.0, TEXT(LGUN, GUN_STR_35), TEXT(LGUN, GUN_STR_A0), 0.0, -8.0, 387.0)
|
||||
GUNFILERECORD( datathief, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_2D), 16.0, 0.0, 474.0, 80.0, 0.0, TEXT(LGUN, GUN_STR_2D), TEXT(LGUN, GUN_STR_99), 0.0, -6.0, 350.0)
|
||||
GUNFILERECORD( watchidentifier, 1, NULL, TEXT(LGUN, GUN_STR_7F), TEXT(LGUN, GUN_STR_41), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_7A), TEXT(LGUN, GUN_STR_D1), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchcommunicator, 1, NULL, TEXT(LGUN, GUN_STR_7F), TEXT(LGUN, GUN_STR_23), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_78), TEXT(LGUN, GUN_STR_CF), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchgeigercounter, 1, NULL, TEXT(LGUN, GUN_STR_7F), TEXT(LGUN, GUN_STR_36), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_79), TEXT(LGUN, GUN_STR_D0), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchmagnetrepel, 1, NULL, TEXT(LGUN, GUN_STR_7F), TEXT(LGUN, GUN_STR_4B), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_7D), TEXT(LGUN, GUN_STR_D4), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchmagnetattract, 0,GUNSTATS(watchmagnetattract), TEXT(LGUN, GUN_STR_7E), TEXT(LGUN, GUN_STR_13), 80.0, 0.0, 3036.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_7C), TEXT(LGUN, GUN_STR_D3), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( goldeneyekey, 0, GUNSTATS(goldeneyekey), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_3A), 18.0, 0.0, 560.0, 80.0, 0.0, TEXT(LGUN, GUN_STR_3A), TEXT(LGUN, GUN_STR_A4), 0.0, -4.0, 310.0)
|
||||
GUNFILERECORD( blackbox, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_17), 18.0, 0.0, 545.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_17), TEXT(LGUN, GUN_STR_87), 0.0, -8.0, 380.0)
|
||||
GUNFILERECORD( circuitboard, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_21), 20.0, 0.0, 568.0, 80.0, 0.0, TEXT(LGUN, GUN_STR_21), TEXT(LGUN, GUN_STR_91), 0.0, 0.0, 394.0)
|
||||
GUNFILERECORD( clipboard, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_22), 40.0, 0.0, 1151.0, 80.0, 90.0, TEXT(LGUN, GUN_STR_22), TEXT(LGUN, GUN_STR_92), 0.0, -20.0, 580.0)
|
||||
GUNFILERECORD( stafflist, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_6C), 44.0, 0.0, 1274.0, 80.0, 90.0, TEXT(LGUN, GUN_STR_6C), TEXT(LGUN, GUN_STR_C7), 0.0, -16.0, 681.0)
|
||||
GUNFILERECORD( dossierred, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_5F), 38.0, 0.0, 1084.0, 350.0, 90.0, TEXT(LGUN, GUN_STR_5F), TEXT(LGUN, GUN_STR_BD), 0.0, -12.0, 580.0)
|
||||
GUNFILERECORD( plans, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_5A), 18.0, 0.0, 464.0, 350.0, 90.0, TEXT(LGUN, GUN_STR_5A), TEXT(LGUN, GUN_STR_B6), 0.0, -2.0, 253.0)
|
||||
GUNFILERECORD( spyfile, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_6A), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_6A), TEXT(LGUN, GUN_STR_C5), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( blueprints, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_18), 18.0, 0.0, 579.0, 350.0, 90.0, TEXT(LGUN, GUN_STR_18), TEXT(LGUN, GUN_STR_88), 0.0, -8.0, 364.0)
|
||||
GUNFILERECORD( map, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_4D), 18.0, 0.0, 579.0, 350.0, 90.0, TEXT(LGUN, GUN_STR_4D), TEXT(LGUN, GUN_STR_AF), 0.0, -6.0, 364.0)
|
||||
GUNFILERECORD( audiotape, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_14), 16.0, 0.0, 428.0, 90.0, 90.0, TEXT(LGUN, GUN_STR_14), TEXT(LGUN, GUN_STR_85), 0.0, -2.0, 292.0)
|
||||
GUNFILERECORD( videotape, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_77), 26.0, 0.0, 753.0, 90.0, 0.0, TEXT(LGUN, GUN_STR_77), TEXT(LGUN, GUN_STR_CE), 0.0, -8.0, 395.0)
|
||||
GUNFILERECORD( dattape, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_2C), 14.0, 0.0, 387.0, 90.0, 90.0, TEXT(LGUN, GUN_STR_2C), TEXT(LGUN, GUN_STR_98), 0.0, 0.0, 238.0)
|
||||
GUNFILERECORD( spooltape, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_69), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_69), TEXT(LGUN, GUN_STR_C4), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( microfilm, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_50), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_50), TEXT(LGUN, GUN_STR_B2), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( microcode, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_4F), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_4F), TEXT(LGUN, GUN_STR_B1), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( lectre, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_49), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_49), TEXT(LGUN, GUN_STR_AD), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( money, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_53), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_53), TEXT(LGUN, GUN_STR_B3), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( goldbar, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_37), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_37), TEXT(LGUN, GUN_STR_A1), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( heroin, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_3F), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_3F), TEXT(LGUN, GUN_STR_A7), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( keycard, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_45), 24.0, 0.0, 556.0, 80.0, 90.0, TEXT(LGUN, GUN_STR_45), TEXT(LGUN, GUN_STR_AA), 0.0, -6.0, 411.0)
|
||||
GUNFILERECORD( keyyale, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_81), 64.0, 0.0, 1912.0, 260.0, 90.0, TEXT(LGUN, GUN_STR_81), TEXT(LGUN, GUN_STR_D6), 0.0, -18.0, 1568.0)
|
||||
GUNFILERECORD( keybolt, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_19), 78.0, 0.0, 3518.0, 80.0, 90.0, TEXT(LGUN, GUN_STR_19), TEXT(LGUN, GUN_STR_89), 0.0, -12.0, 2582.0)
|
||||
SUIT_LFRECORD(suit_lf_hand, 0, GUNSTATS(Csuit_lf_handz), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_6D), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_83), 10.0, 10.0, 1000.0)
|
||||
GUNFILERECORD( joypad, 0, GUNSTATS(joypad), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_24), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_83), 10.0, 10.0, 1000.0)
|
||||
{ NULL , NULL, 0, GUNSTATS(null1), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_54), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_83), 10.0, 10.0, 1000.0},
|
||||
{ NULL , NULL, 0, GUNSTATS(null2), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_54), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_83), 10.0, 10.0, 1000.0},
|
||||
{ NULL , NULL, 0, GUNSTATS(token), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_73), 12.0, 0.0, 528.0, 80.0, 0.0, TEXT(LGUN, GUN_STR_73), TEXT(LGUN, GUN_STR_CC), 0.0, -4.0, 310.0}
|
||||
GUNFILERECORD( throwknife, 0, GUNSTATS(throwknife), getStringID(LGUN, GUN_STR_71_THROWING_LF), getStringID(LGUN, GUN_STR_06__KNIFE_LF), 200.0, 51.0, 1327.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_70_THROWINGKNIFE_LF), getStringID(LGUN, GUN_STR_CA_THROWINGKNIFE_LF), 38.0, 118.0, 800.0)
|
||||
GUNFILERECORD( wppk, 0, GUNSTATS(wppk), getStringID(LGUN, GUN_STR_57_WALTHERPPK2_LF), getStringID(LGUN, GUN_STR_01___ISSUE_LF), 20.0, 97.0, 579.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_56_WALTHERPPK_LF), getStringID(LGUN, GUN_STR_BA_PPK_LF), 94.0, 2.0, 356.0)
|
||||
GUNFILERECORD( wppksil, 0, GUNSTATS(wppksil), getStringID(LGUN, GUN_STR_03__PPK_LF), getStringID(LGUN, GUN_STR_10_SILENCED_LF), 26.0, 162.0, 668.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_55_PPKSILENSED_LF), getStringID(LGUN, GUN_STR_B9_SILENCEDPPK_LF), 169.0, 5.0, 535.0)
|
||||
GUNFILERECORD( tt33, 0, GUNSTATS(tt33), getStringID(LGUN, GUN_STR_04__TT33_LF), getStringID(LGUN, GUN_STR_32_TOKAREV_LF), 22.0, 128.0, 709.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_2A_TT33TOKAREV_LF), getStringID(LGUN, GUN_STR_9A_TT33_LF), 124.0, 14.0, 455.0)
|
||||
GUNFILERECORD( skorpion, 0, GUNSTATS(skorpion), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_6B_SKORPION_LF), 46.0, 124.0, 785.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_6B_SKORPION_LF), getStringID(LGUN, GUN_STR_C6_SKORPION_LF), 124.0, 32.0, 545.0)
|
||||
GUNFILERECORD( ak47, 0, GUNSTATS(ak47), getStringID(LGUN, GUN_STR_08_AK47_LF), getStringID(LGUN, GUN_STR_68_SOVIET_LF), -29.0, 307.0, 1410.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_42_AK47_LF), getStringID(LGUN, GUN_STR_AB_AK47_LF), 304.0, -31.0, 1020.0)
|
||||
GUNFILERECORD( uzi, 0, GUNSTATS(uzi), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_82_UZI_LF), -18.0, 57.0, 1198.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_82_UZI_LF), getStringID(LGUN, GUN_STR_D7_UZI_LF), 68.0, -49.0, 667.0)
|
||||
GUNFILERECORD( mp5k, 0, GUNSTATS(mp5k), getStringID(LGUN, GUN_STR_00___MP5_LF), getStringID(LGUN, GUN_STR_2F), 12.0, 112.0, 1300.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_29_MP5K_LF), getStringID(LGUN, GUN_STR_96_MP5_LF), 123.0, -2.0, 628.0)
|
||||
GUNFILERECORD( mp5ksil, 0, GUNSTATS(mp5ksil), getStringID(LGUN, GUN_STR_00___MP5_LF), getStringID(LGUN, GUN_STR_10_SILENCED_LF), 14.0, 227.0, 1300.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_28_MP5KSILENCED_LF), getStringID(LGUN, GUN_STR_95_MP5SILENSED_LF), 226.0, -10.0, 834.0)
|
||||
GUNFILERECORD( spectre, 0, GUNSTATS(spectre), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_58_SPECTRE_LF), -4.0, 144.0, 1128.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_58_SPECTRE_LF), getStringID(LGUN, GUN_STR_B4_SPECTRE_LF), 146.0, -18.0, 801.0)
|
||||
GUNFILERECORD( m16, 0, GUNSTATS(m16), getStringID(LGUN, GUN_STR_75_M16_LF), getStringID(LGUN, GUN_STR_12_ASSAULT_LF), 25.0, 251.0, 1796.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_74_M16ASSAULTRIFLE_LF), getStringID(LGUN, GUN_STR_84_M16_LF), 246.0, -45.0, 1497.0)
|
||||
GUNFILERECORD( fnp90, 0, GUNSTATS(fnp90), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_5E_FNP90_LF), 88.0, -44.0, 1107.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_5E_FNP90_LF), getStringID(LGUN, GUN_STR_BC_FNP90_LF), -44.0, 31.0, 867.0)
|
||||
GUNFILERECORD( shotgun, 0, GUNSTATS(shotgun), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_64_SHOTGUN_LF), 39.0, 283.0, 1224.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_64_SHOTGUN_LF), getStringID(LGUN, GUN_STR_C1_SHOTGUN_LF), 284.0, -22.0, 999.0)
|
||||
GUNFILERECORD( autoshot, 0, GUNSTATS(autoshot), getStringID(LGUN, GUN_STR_16_AUTOMATIC_LF), getStringID(LGUN, GUN_STR_0C_SHOTGUN_LF), 73.0, 285.0, 1224.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_15_AUTOMATICSHOTGUN_LF), getStringID(LGUN, GUN_STR_86_AUTOSHOTGUN_LF), 284.0, 4.0, 980.0)
|
||||
GUNFILERECORD( sniperrifle, 0, GUNSTATS(sniperrifle), getStringID(LGUN, GUN_STR_67_SNIPER_LF), getStringID(LGUN, GUN_STR_0A_RIFLE_LF), 49.0, 265.0, 1760.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_66_SNIPERRIFLE_LF), getStringID(LGUN, GUN_STR_C3_SNIPERRIFLE_LF), 268.0, 14.0, 1497.0)
|
||||
GUNFILERECORD( ruger, 0, GUNSTATS(ruger), getStringID(LGUN, GUN_STR_26_ROUGER_LF), getStringID(LGUN, GUN_STR_4C_MAGNUM_LF), 47.0, 184.0, 769.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_25_ROUGERMAGNUM_LF), getStringID(LGUN, GUN_STR_93_ROUGERMAGNUM_LF), 182.0, 36.0, 604.0)
|
||||
GUNFILERECORD( goldengun, 0, GUNSTATS(goldengun), getStringID(LGUN, GUN_STR_3B_GOLDEN_LF), getStringID(LGUN, GUN_STR_05__GUN_LF), 29.0, 146.0, 629.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_39_GOLDENGUN_LF), getStringID(LGUN, GUN_STR_A3_GOLDENGUN_LF), 144.0, 18.0, 464.0)
|
||||
GUNFILERECORD( silverwppk, 0, GUNSTATS(silverwppk), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_65_SILVERPPK_LF), 20.0, 97.0, 579.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_65_SILVERPPK_LF), getStringID(LGUN, GUN_STR_C2_SILVERPPK_LF), 94.0, 2.0, 356.0)
|
||||
GUNFILERECORD( goldwppk, 0, GUNSTATS(goldwppk), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_38_GOLDPPK_LF), 20.0, 97.0, 579.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_38_GOLDPPK_LF), getStringID(LGUN, GUN_STR_A2_GOLDPPK_LF), 94.0, 2.0, 356.0)
|
||||
GUNFILERECORD( laser, 0, GUNSTATS(laser), getStringID(LGUN, GUN_STR_52_MILITARY_LF), getStringID(LGUN, GUN_STR_47_LASER_LF), 67.0, 106.0, 738.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_51_MILITARYLASER_LF), getStringID(LGUN, GUN_STR_AC_LASER_LF), 103.0, 21.0, 545.0)
|
||||
GUNFILERECORD( watchlaser, 0, GUNSTATS(watchlaser), getStringID(LGUN, GUN_STR_7F_WATCH_LF), getStringID(LGUN, GUN_STR_47_LASER_LF), 82.0, 0.0, 2857.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_7B_WATCHLASER_LF), getStringID(LGUN, GUN_STR_D2_WATCHLASER_LF), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( grenadelaunch, 0, GUNSTATS(grenadelaunch), getStringID(LGUN, GUN_STR_3D_GRENADE_LF), getStringID(LGUN, GUN_STR_48_LAUNCHER_LF), 27.0, 279.0, 1152.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_3C_GRENADELAUNCHER_LF), getStringID(LGUN, GUN_STR_A5_GRENADELAUNCHER_LF), 284.0, -22.0, 960.0)
|
||||
GUNFILERECORD( rocketlaunch, 0, GUNSTATS(rocketlaunch), getStringID(LGUN, GUN_STR_0B_ROCKET_LF), getStringID(LGUN, GUN_STR_48_LAUNCHER_LF), 111.0, -50.0, 1624.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_61_ROCKETLAUNCHER_LF), getStringID(LGUN, GUN_STR_BF_ROCKETLAUNCHER_LF), -42.0, 16.0, 1381.0)
|
||||
GUNFILERECORD( grenade, 0, GUNSTATS(grenade), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_3D_GRENADE_LF), 180.0, 0.0, 2745.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_3E_HANDGRENADE_LF), getStringID(LGUN, GUN_STR_A6_GRENADE_LF), 0.0, 48.0, 1468.0)
|
||||
GUNFILERECORD( timedmine, 0, GUNSTATS(timedmine), getStringID(LGUN, GUN_STR_09_MINE_LF), getStringID(LGUN, GUN_STR_0F_TIMED_LF), 8.0, 0.0, 364.0, 90.0, 0.0, getStringID(LGUN, GUN_STR_72_TIMEDMINE_LF), getStringID(LGUN, GUN_STR_CB_TIMEDMINE_LF), 0.0, -3.0, 179.0)
|
||||
GUNFILERECORD( proximitymine, 0, GUNSTATS(proximitymine), getStringID(LGUN, GUN_STR_02___MINE_LF), getStringID(LGUN, GUN_STR_0D_PROXIMITY_LF), 8.0, 0.0, 364.0, 90.0, 0.0, getStringID(LGUN, GUN_STR_5D_PROXIMITYMINE_LF), getStringID(LGUN, GUN_STR_BB_PROXIMIYTYMINE_LF), 0.0, -3.0, 179.0)
|
||||
GUNFILERECORD( remotemine, 0, GUNSTATS(remotemine), getStringID(LGUN, GUN_STR_07__MINE_LF), getStringID(LGUN, GUN_STR_0E_REMOTE_LF), 8.0, 0.0, 364.0, 90.0, 0.0, getStringID(LGUN, GUN_STR_60_REMOTEMINE_LF), getStringID(LGUN, GUN_STR_BE_REMOTEMINE_LF), 0.0, -3.0, 179.0)
|
||||
GUNFILERECORD( trigger, 0, GUNSTATS(trigger), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_2E_DETONATOR_LF), 82.0, 0.0, 2857.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_2E_DETONATOR_LF), getStringID(LGUN, GUN_STR_9B_DETONATOR_LF), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( taser, 0, GUNSTATS(taser), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_6F_TASER_LF), 107.0, 49.0, 568.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_6F_TASER_LF), getStringID(LGUN, GUN_STR_C9_TASER_LF), 64.0, 80.0, 333.0)
|
||||
{ NULL, NULL, 0, GUNSTATS(tank), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_6E_TANK_LF), 20.0, 97.0, 579.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_6E_TANK_LF), getStringID(LGUN, GUN_STR_C8_TANK_LF), 94.0, 2.0, 356.0},
|
||||
GUNFILERECORD( bombcase, 0, GUNSTATS(bombcase), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_1A_BOMBCASE_LF), 16.0, 0.0, 568.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_1A_BOMBCASE_LF), getStringID(LGUN, GUN_STR_8A_BOMBCASE_LF), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( plastique, 0, GUNSTATS(plastique), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_5B_PLASTIQUE_LF), 28.0, 0.0, 1062.0, 80.0, 90.0, getStringID(LGUN, GUN_STR_5B_PLASTIQUE_LF), getStringID(LGUN, GUN_STR_B7_PLASTIQUE_LF), 0.0, -16.0, 739.0)
|
||||
GUNFILERECORD( flarepistol, 0, GUNSTATS(flarepistol), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_34_FLAREPISTOL_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_34_FLAREPISTOL_LF), getStringID(LGUN, GUN_STR_9F_FLAREPISTOL_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( pitongun, 0, GUNSTATS(pitongun), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_59_PITONGUN_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_59_PITONGUN_LF), getStringID(LGUN, GUN_STR_B5_PITONGUN_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( bungee, TRUE, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_1F_BUNGEE_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_1F_BUNGEE_LF), getStringID(LGUN, GUN_STR_8F_BUNGEE_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( doordecoder, TRUE, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_30_DOORDECODER_LF), 12.0, 0.0, 364.0, 90.0, 90.0, getStringID(LGUN, GUN_STR_30_DOORDECODER_LF), getStringID(LGUN, GUN_STR_9C_DOORDECODER_LF), 0.0, -6.0, 199.0)
|
||||
GUNFILERECORD( bombdefuser, TRUE, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_1B_BOMBDEFUSER_LF), 14.0, 0.0, 379.0, 90.0, 90.0, getStringID(LGUN, GUN_STR_1B_BOMBDEFUSER_LF), getStringID(LGUN, GUN_STR_8B_BOMBDEFUSER_LF), 0.0, 0.0, 279.0)
|
||||
GUNFILERECORD( camera, 0, GUNSTATS(camera), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_20_CAMERA_LF), 4.0, 0.0, 195.0, 20.0, 90.0, getStringID(LGUN, GUN_STR_20_CAMERA_LF), getStringID(LGUN, GUN_STR_90_CAMERA_LF), 0.0, -2.0, 144.0)
|
||||
GUNFILERECORD( lockexploder, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_4A_LOCKEXPLODER_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_4A_LOCKEXPLODER_LF), getStringID(LGUN, GUN_STR_AE_LOCKEXPLODER_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( doorexploder, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_31_DOOREXPLODER_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_31_DOOREXPLODER_LF), getStringID(LGUN, GUN_STR_9D_DOOREXPLODER_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( briefcase, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_1C_BRIEFCASE_LF), 16.0, 0.0, 568.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_1C_BRIEFCASE_LF), getStringID(LGUN, GUN_STR_8C_BRIEFCASE_LF), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( weaponcase, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_80_WEAPONCASE_LF), 16.0, 0.0, 568.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_80_WEAPONCASE_LF), getStringID(LGUN, GUN_STR_D5_WEAPONCASE_LF), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( safecrackercase, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_63_SAFECRACKER_LF), 16.0, 0.0, 568.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_62_SAFECRACKERCASE_LF), getStringID(LGUN, GUN_STR_C0_SAFECRACKER_LF), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( keyanalysercase, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_44_KEYANALYZER_LF), 16.0, 0.0, 568.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_43_KEYANALYZERCASE_LF), getStringID(LGUN, GUN_STR_A9_KEYANALYZER_LF), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( bug, 0, GUNSTATS(bug), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_1E_BUG_LF), 16.0, 0.0, 513.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_1E_BUG_LF), getStringID(LGUN, GUN_STR_8E_BUG_LF), 0.0, -6.0, 387.0)
|
||||
GUNFILERECORD( microcamera, 0, GUNSTATS(microcamera), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_4E_MICROCAMERA_LF), 8.0, 0.0, 310.0, 0.0, 270.0, getStringID(LGUN, GUN_STR_4E_MICROCAMERA_LF), getStringID(LGUN, GUN_STR_B0_MICROCAMERA_LF), 0.0, -8.0, 229.0)
|
||||
GUNFILERECORD( bugdetector, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_1D_BUGDETECTOR_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_1D_BUGDETECTOR_LF), getStringID(LGUN, GUN_STR_8D_BUGDETECTOR_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( explosivefloppy, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_33_GUIDANCEDATA_LF), 12.0, 0.0, 336.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_33_GUIDANCEDATA_LF), getStringID(LGUN, GUN_STR_9E_GUIDANCEDATA_LF), 0.0, -4.0, 176.0)
|
||||
GUNFILERECORD( polarizedglasses, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_5C_POLARISEDGLASSES_LF), 2.0, 0.0, 183.0, 15.0, 90.0, getStringID(LGUN, GUN_STR_5C_POLARISEDGLASSES_LF), getStringID(LGUN, GUN_STR_B8_POLARIZEDGLASSES_LF), 0.0, 0.0, 147.0)
|
||||
GUNFILERECORD( darkglasses, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_2B_DARKGLASSES_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_2B_DARKGLASSES_LF), getStringID(LGUN, GUN_STR_97_DARKGLASSES_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( creditcard, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_27_CREDITCARD_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_27_CREDITCARD_LF), getStringID(LGUN, GUN_STR_94_CREDITCARD_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( gaskeyring, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_35_GASKEYRING_LF), 26.0, 0.0, 769.0, 90.0, 90.0, getStringID(LGUN, GUN_STR_35_GASKEYRING_LF), getStringID(LGUN, GUN_STR_A0_GASKEYRING_LF), 0.0, -8.0, 387.0)
|
||||
GUNFILERECORD( datathief, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_2D_DATATHIEF_LF), 16.0, 0.0, 474.0, 80.0, 0.0, getStringID(LGUN, GUN_STR_2D_DATATHIEF_LF), getStringID(LGUN, GUN_STR_99_DATATHIEF_LF), 0.0, -6.0, 350.0)
|
||||
GUNFILERECORD( watchidentifier, 1, NULL, getStringID(LGUN, GUN_STR_7F_WATCH_LF), getStringID(LGUN, GUN_STR_41_IDENTIFIER_LF), 82.0, 0.0, 2857.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_7A_WATCHIDENTIFIER_LF), getStringID(LGUN, GUN_STR_D1_WATCHIDENTIFIER_LF), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchcommunicator, 1, NULL, getStringID(LGUN, GUN_STR_7F_WATCH_LF), getStringID(LGUN, GUN_STR_23_COMMINICATOR_LF), 82.0, 0.0, 2857.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_78_WATCHCOMMINUCATOR_LF), getStringID(LGUN, GUN_STR_CF_WATCHCOMMUNICATOR_LF), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchgeigercounter, 1, NULL, getStringID(LGUN, GUN_STR_7F_WATCH_LF), getStringID(LGUN, GUN_STR_36_GEIGERCOUNTER_LF), 82.0, 0.0, 2857.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_79_WATCHGEIGERCOUNTER_LF), getStringID(LGUN, GUN_STR_D0_WATCHGEIGERCOUNTER_LF), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchmagnetrepel, 1, NULL, getStringID(LGUN, GUN_STR_7F_WATCH_LF), getStringID(LGUN, GUN_STR_4B_MAGNETREPEL_LF), 82.0, 0.0, 2857.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_7D_WATCHMAGNETREPEL_LF), getStringID(LGUN, GUN_STR_D4_WATCHMAGNETICREPEL_LF), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchmagnetattract, 0,GUNSTATS(watchmagnetattract), getStringID(LGUN, GUN_STR_7E_WATCHMAGNET_LF), getStringID(LGUN, GUN_STR_13_ATTRACT_LF), 80.0, 0.0, 3036.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_7C_WATCHMAGNETATTRACT_LF), getStringID(LGUN, GUN_STR_D3_WATCHMAGNETICATTRACT_LF), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( goldeneyekey, 0, GUNSTATS(goldeneyekey), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_3A_GOLDENEYEKEY_LF), 18.0, 0.0, 560.0, 80.0, 0.0, getStringID(LGUN, GUN_STR_3A_GOLDENEYEKEY_LF), getStringID(LGUN, GUN_STR_A4_GOLDENEYEKEY_LF), 0.0, -4.0, 310.0)
|
||||
GUNFILERECORD( blackbox, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_17_BLACKBOX_LF), 18.0, 0.0, 545.0, 0.0, 90.0, getStringID(LGUN, GUN_STR_17_BLACKBOX_LF), getStringID(LGUN, GUN_STR_87_BLACKBOX_LF), 0.0, -8.0, 380.0)
|
||||
GUNFILERECORD( circuitboard, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_21_CIRCUITBOARD_LF), 20.0, 0.0, 568.0, 80.0, 0.0, getStringID(LGUN, GUN_STR_21_CIRCUITBOARD_LF), getStringID(LGUN, GUN_STR_91_CIRCUITBOARD_LF), 0.0, 0.0, 394.0)
|
||||
GUNFILERECORD( clipboard, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_22_CLIPBOARD_LF), 40.0, 0.0, 1151.0, 80.0, 90.0, getStringID(LGUN, GUN_STR_22_CLIPBOARD_LF), getStringID(LGUN, GUN_STR_92_CLIPBOARD_LF), 0.0, -20.0, 580.0)
|
||||
GUNFILERECORD( stafflist, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_6C_STAFFLIST_LF), 44.0, 0.0, 1274.0, 80.0, 90.0, getStringID(LGUN, GUN_STR_6C_STAFFLIST_LF), getStringID(LGUN, GUN_STR_C7_STAFFLIST_LF), 0.0, -16.0, 681.0)
|
||||
GUNFILERECORD( dossierred, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_5F_REDDOSSIER_LF), 38.0, 0.0, 1084.0, 350.0, 90.0, getStringID(LGUN, GUN_STR_5F_REDDOSSIER_LF), getStringID(LGUN, GUN_STR_BD_REDDOSSIER_LF), 0.0, -12.0, 580.0)
|
||||
GUNFILERECORD( plans, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_5A_PLANS_LF), 18.0, 0.0, 464.0, 350.0, 90.0, getStringID(LGUN, GUN_STR_5A_PLANS_LF), getStringID(LGUN, GUN_STR_B6_PLANS_LF), 0.0, -2.0, 253.0)
|
||||
GUNFILERECORD( spyfile, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_6A_SPYFILE_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_6A_SPYFILE_LF), getStringID(LGUN, GUN_STR_C5_SPYFILE_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( blueprints, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_18_BLUEPRINTS_LF), 18.0, 0.0, 579.0, 350.0, 90.0, getStringID(LGUN, GUN_STR_18_BLUEPRINTS_LF), getStringID(LGUN, GUN_STR_88_BLUEPRINTS_LF), 0.0, -8.0, 364.0)
|
||||
GUNFILERECORD( map, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_4D_MAP_LF), 18.0, 0.0, 579.0, 350.0, 90.0, getStringID(LGUN, GUN_STR_4D_MAP_LF), getStringID(LGUN, GUN_STR_AF_MAP_LF), 0.0, -6.0, 364.0)
|
||||
GUNFILERECORD( audiotape, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_14_AUDIOTAPE_LF), 16.0, 0.0, 428.0, 90.0, 90.0, getStringID(LGUN, GUN_STR_14_AUDIOTAPE_LF), getStringID(LGUN, GUN_STR_85_AUDIOTAPE_LF), 0.0, -2.0, 292.0)
|
||||
GUNFILERECORD( videotape, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_77_VIDEOTAPE_LF), 26.0, 0.0, 753.0, 90.0, 0.0, getStringID(LGUN, GUN_STR_77_VIDEOTAPE_LF), getStringID(LGUN, GUN_STR_CE_VIDEOTAPE_LF), 0.0, -8.0, 395.0)
|
||||
GUNFILERECORD( dattape, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_2C_DATTAPE_LF), 14.0, 0.0, 387.0, 90.0, 90.0, getStringID(LGUN, GUN_STR_2C_DATTAPE_LF), getStringID(LGUN, GUN_STR_98_DATTAPE_LF), 0.0, 0.0, 238.0)
|
||||
GUNFILERECORD( spooltape, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_69_SPOOLTAPE_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_69_SPOOLTAPE_LF), getStringID(LGUN, GUN_STR_C4_SPOOLTAPE_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( microfilm, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_50_MICROFILM_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_50_MICROFILM_LF), getStringID(LGUN, GUN_STR_B2_MICROFILM_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( microcode, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_4F_MICROCODE_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_4F_MICROCODE_LF), getStringID(LGUN, GUN_STR_B1_MICROCODE_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( lectre, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_49_LECTRE_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_49_LECTRE_LF), getStringID(LGUN, GUN_STR_AD_LECTRE_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( money, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_53_MONEY_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_53_MONEY_LF), getStringID(LGUN, GUN_STR_B3_MONEY_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( goldbar, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_37_GOLDBAR_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_37_GOLDBAR_LF), getStringID(LGUN, GUN_STR_A1_GOLDBAR_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( heroin, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_3F_HEROINE_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_3F_HEROINE_LF), getStringID(LGUN, GUN_STR_A7_HEROINE_LF), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( keycard, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_45_KEYCARD_LF), 24.0, 0.0, 556.0, 80.0, 90.0, getStringID(LGUN, GUN_STR_45_KEYCARD_LF), getStringID(LGUN, GUN_STR_AA_KEYCARD_LF), 0.0, -6.0, 411.0)
|
||||
GUNFILERECORD( keyyale, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_81_YALEKEY_LF), 64.0, 0.0, 1912.0, 260.0, 90.0, getStringID(LGUN, GUN_STR_81_YALEKEY_LF), getStringID(LGUN, GUN_STR_D6_YALEKEY_LF), 0.0, -18.0, 1568.0)
|
||||
GUNFILERECORD( keybolt, 1, NULL, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_19_BOLTKEY_LF), 78.0, 0.0, 3518.0, 80.0, 90.0, getStringID(LGUN, GUN_STR_19_BOLTKEY_LF), getStringID(LGUN, GUN_STR_89_BOLTKEY_LF), 0.0, -12.0, 2582.0)
|
||||
SUIT_LFRECORD(suit_lf_hand, 0, GUNSTATS(Csuit_lf_handz), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_6D_SUIT_LF_HAND_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_83_LF), 10.0, 10.0, 1000.0)
|
||||
GUNFILERECORD( joypad, 0, GUNSTATS(joypad), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_24_CONTROLLER_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_83_LF), 10.0, 10.0, 1000.0)
|
||||
{ NULL , NULL, 0, GUNSTATS(null1), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_54_NULL_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_83_LF), 10.0, 10.0, 1000.0},
|
||||
{ NULL , NULL, 0, GUNSTATS(null2), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_54_NULL_LF), 0.0, 0.0, 1000.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_83_LF), 10.0, 10.0, 1000.0},
|
||||
{ NULL , NULL, 0, GUNSTATS(token), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_73_TOKEN_LF), 12.0, 0.0, 528.0, 80.0, 0.0, getStringID(LGUN, GUN_STR_73_TOKEN_LF), getStringID(LGUN, GUN_STR_CC_TOKEN_LF), 0.0, -4.0, 310.0}
|
||||
};
|
||||
@@ -1,2 +1,2 @@
|
||||
/*NAME, NOMODEL, STATS, UPPERTEXTID, LOWERTEXTID, POSX, POSY, POSZ, XROT, YROT, WOCTEXT, EQUIPTEXT, EQUIPX, EQUIPY, EQUIPZ*/
|
||||
GUNFILERECORD(knife, 0, GUNSTATS(knife), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_46), 200.0, 39.0, 1327.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_40), TEXT(LGUN, GUN_STR_A8), 38.0, 118.0, 800.0)
|
||||
GUNFILERECORD(knife, 0, GUNSTATS(knife), getStringID(LGUN, GUN_STR_83_LF), getStringID(LGUN, GUN_STR_46_KNIFE_LF), 200.0, 39.0, 1327.0, 0.0, 0.0, getStringID(LGUN, GUN_STR_40_HUNTINGKNIFE_LF), getStringID(LGUN, GUN_STR_A8_HUNTINGKNIFE_LF), 38.0, 118.0, 800.0)
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
//included by propExplosionDetailsRecords.inc.c to pobjdata.c
|
||||
//touch pobjdata.c to recompile
|
||||
{
|
||||
EXPLOSION_SMALL, //type
|
||||
{0x315c, 0x7b6c, 0xdbff, 0x5126, 0xfb59, 0x7ca7} //seed
|
||||
},
|
||||
},
|
||||
@@ -1,17 +1,31 @@
|
||||
#include <bondtypes.h>
|
||||
#include "assets/image_externs.h"
|
||||
|
||||
#define TEXTURECOUNT 2
|
||||
|
||||
#define VERTEXGROUPCOUNT0 12
|
||||
#define COLLISIONVERTEXCOUNT0 12
|
||||
|
||||
extern ModelRoData_GroupRecord GroupRecord_0x060;
|
||||
extern ModelRoData_BoundingBoxRecord BoundingBoxRecord_0x07c;
|
||||
extern Vertex Vertex_ARRAY_0x098[VERTEXGROUPCOUNT0];
|
||||
extern Vertex Collision_Vertex_ARRAY_0x158[COLLISIONVERTEXCOUNT0];
|
||||
extern s16 POINT_USAGE_ARRAY_0x218[VERTEXGROUPCOUNT0];
|
||||
extern ModelRoData_DisplayList_CollisionRecord DLCollisionRecord_0x230[];
|
||||
extern Gfx GFX_ARRAY_PRIMARY_0x250[];
|
||||
extern Gfx GFX_ARRAY_SECONDARY_0x2B0[];
|
||||
|
||||
//base address is 0x05000000
|
||||
ModelFileTextures proptextures[TEXTURECOUNT] =
|
||||
{
|
||||
{_image29_ID, 32, 32, 0x06, 0x0, 0x02, 0x0, 0x0},
|
||||
{_image31_ID, 32, 32, 0x06, 0x0, 0x02, 0x0, 0x0}
|
||||
{IMAGE_BUZZERSWITCH, 32, 32, 0x06, 0x0, 0x02, 0x0, 0x0},
|
||||
{IMAGE_BELL, 32, 32, 0x06, 0x0, 0x02, 0x0, 0x0}
|
||||
};
|
||||
// {opcode, data, parent, next, prev, child}
|
||||
ModelNode ModelNode_0x018 = { MODELNODE_OPCODE_GROUP, GroupRecord_0x060, 0x0, 0x0, 0x0, ModelNode_0x030};
|
||||
ModelNode ModelNode_0x030 = { MODELNODE_OPCODE_BBOX, BoundingBoxRecord_0x07c, ModelNode_0x018, 0x0, 0x0, ModelNode_0x048};
|
||||
ModelNode ModelNode_0x048 = { MODELNODE_OPCODE_DLCOLLISION, DLCollisionRecord_0x230, ModelNode_0x030, 0x0, 0x0, 0x0};
|
||||
|
||||
// { opcode, data, parent, next, prev, child}
|
||||
ModelNode ModelNode_0x018 = { MODELNODE_OPCODE_GROUP, &GroupRecord_0x060, NULL, NULL, NULL, &ModelNode_0x030};
|
||||
ModelNode ModelNode_0x030 = { MODELNODE_OPCODE_BBOX, &BoundingBoxRecord_0x07c, &ModelNode_0x018, NULL, NULL, &ModelNode_0x048};
|
||||
ModelNode ModelNode_0x048 = { MODELNODE_OPCODE_DLCOLLISION, &DLCollisionRecord_0x230, &ModelNode_0x030, NULL, NULL, NULL};
|
||||
|
||||
ModelRoData_GroupRecord GroupRecord_0x060 =
|
||||
{
|
||||
@@ -20,7 +34,7 @@ ModelRoData_GroupRecord GroupRecord_0x060 =
|
||||
0x0, //MatrixID0
|
||||
0xFFFF, //MatrixID1
|
||||
0xFFFF, //MatrixID2
|
||||
0x0, //ChildGroup
|
||||
NULL, //ChildGroup
|
||||
304.6402 //BoundingVolumeRadius
|
||||
};
|
||||
|
||||
@@ -71,31 +85,32 @@ s16 POINT_USAGE_ARRAY_0x218[VERTEXGROUPCOUNT0] =
|
||||
|
||||
ModelRoData_DisplayList_CollisionRecord DLCollisionRecord_0x230 =
|
||||
{
|
||||
GFX_ARRAY_PRIMARY_0x250,
|
||||
GFX_ARRAY_SECONDARY_0x2B0,
|
||||
Vertex_ARRAY_0x098, VERTEXGROUPCOUNT0,
|
||||
COLLISIONVERTEXCOUNT0, Collision_Vertex_ARRAY_0x158,
|
||||
POINT_USAGE_ARRAY_0x218,
|
||||
0x4, 0x0, 0x0, 0x0
|
||||
GFX_ARRAY_PRIMARY_0x250, //primary
|
||||
GFX_ARRAY_SECONDARY_0x2B0, //secondary
|
||||
Vertex_ARRAY_0x098, VERTEXGROUPCOUNT0, //vertices,vcount
|
||||
COLLISIONVERTEXCOUNT0, Collision_Vertex_ARRAY_0x158, //ncolvtx,collision vertices
|
||||
POINT_USAGE_ARRAY_0x218, //point usage
|
||||
0x4, 0x0, //type, index
|
||||
0x0 //baseaddr
|
||||
};
|
||||
|
||||
Gfx GFX_ARRAY_PRIMARY_0x250 =
|
||||
Gfx GFX_ARRAY_PRIMARY_0x250[] =
|
||||
{
|
||||
gsDPSetTextureLOD(G_TL_LOD),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 6, 0, true),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 6, 0, TRUE),
|
||||
gsDPLoadSync(),
|
||||
gsDPSetTextureLOD(G_TL_LOD),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 6, 0, true),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 6, 0, TRUE),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Gfx GFX_ARRAY_SECONDARY_0x2B0 =
|
||||
Gfx GFX_ARRAY_SECONDARY_0x2B0[] =
|
||||
{
|
||||
gsDPLoadSync(),
|
||||
gsDPSetTextureLOD(G_TL_LOD),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 6, 0, true),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 6, 0, TRUE),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsSPEndDisplayList(),
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
//NAME, ROOTNODE, SKELETON, SWITCHES, NUMSWITCHES, NUMMATRICES, BOUNDINGRADIUS, NUMRECORDS, NUMTEXTURES
|
||||
//included by propModelFileHeaders.inc.c to pobjdata.c
|
||||
//touch pobjdata.c to recompile
|
||||
|
||||
|
||||
// NAME, ROOTNODE, SKELETON, SWITCHES, NUMSWITCHES, NUMMATRICES, BOUNDINGRADIUS, NUMRECORDS, NUMTEXTURES
|
||||
MODELFILEHEADER( alarm1, 0, &SKELETON(standard_object), 0, 0, 1, 304.6402, 0, 2)
|
||||
|
||||
|
||||
|
||||
/* NAME SKEL NAME BOUNDRAD SW HASNAMES?
|
||||
New_ModelFileHeader(alarm1, standard_object, 304.6402, 0, FALSE)
|
||||
*/
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
//included by propItemModelFileRecord.inc.c to pobjdata.c
|
||||
//touch pobjdata.c to recompile
|
||||
|
||||
//NAME, SCALE
|
||||
PROPFILERECORD(alarm1, 0.1)
|
||||
PROPFILERECORD(alarm1, 0.1)
|
||||
|
||||
+101
-54
@@ -10,38 +10,82 @@
|
||||
#define VERTEXGROUPCOUNT2 24
|
||||
#define COLLISIONVERTEXCOUNT2 12
|
||||
|
||||
ModelNode* ModelNode1 = ModelNodeGroup_1;
|
||||
ModelNode* ModelNode2 = ModelNodeDL_Lens;
|
||||
ModelNode* ModelNode3 = ModelNodeBB_Lens;
|
||||
ModelNode* ModelNode4 = ModelNodeSwitch_0;
|
||||
|
||||
extern ModelNode ModelNode1;
|
||||
extern ModelNode ModelNode2;
|
||||
extern ModelNode ModelNode3;
|
||||
extern ModelNode ModelNode4;
|
||||
|
||||
extern ModelFileTextures proptextures[TEXTURECOUNT];
|
||||
|
||||
extern ModelNode ModelNodeGroup_0;
|
||||
extern ModelNode ModelNodeBB_0;
|
||||
extern ModelNode ModelNodeDL_Mount;
|
||||
extern ModelNode ModelNodeGroup_1;
|
||||
extern ModelNode ModelNodeSwitch_0;
|
||||
extern ModelNode ModelNodeBB_Lens;
|
||||
extern ModelNode ModelNodeDL_Lens;
|
||||
extern ModelNode ModelNodeDL_Housing;
|
||||
|
||||
|
||||
extern ModelRoData_GroupRecord GroupRecord_0x118;
|
||||
extern ModelRoData_GroupRecord GroupRecord_0x118;
|
||||
extern ModelRoData_BoundingBoxRecord BBoxRecord_0x134;
|
||||
extern Vertex Vertex_ARRAY_0x150[VERTEXGROUPCOUNT0];
|
||||
extern Vertex Collision_Vertex_ARRAY_0x250[COLLISIONVERTEXCOUNT0];
|
||||
extern s16 POINT_USAGE_ARRAY_0x320[VERTEXGROUPCOUNT0];
|
||||
extern ModelRoData_DisplayList_CollisionRecord DL_Mount;
|
||||
extern ModelRoData_GroupRecord GroupRecord_0x360;
|
||||
extern ModelRoData_SwitchRecord Switch_0x37c;
|
||||
extern ModelRoData_BoundingBoxRecord BBox_Lens;
|
||||
extern Vertex Vertex_ARRAY_0x3a0[VERTEXGROUPCOUNT1];
|
||||
extern Vertex Collision_Vertex_ARRAY_0x3e0[COLLISIONVERTEXCOUNT1];
|
||||
extern s16 POINT_USAGE_ARRAY_0x420[VERTEXGROUPCOUNT1];
|
||||
extern ModelRoData_DisplayList_CollisionRecord DL_Lens;
|
||||
extern Vertex Vertex_ARRAY_0x448[VERTEXGROUPCOUNT2];
|
||||
extern Vertex Collision_Vertex_ARRAY_0x5c8[COLLISIONVERTEXCOUNT2];
|
||||
extern s16 POINT_USAGE_ARRAY_0x688[VERTEXGROUPCOUNT2];
|
||||
extern ModelRoData_DisplayList_CollisionRecord DL_Housing;
|
||||
extern Gfx GFX_ARRAY_PRIMARY_0x6d8[];
|
||||
extern Gfx GFX_ARRAY_SECONDARY_0x738[];
|
||||
extern Gfx GFX_ARRAY_PRIMARY_0x790[];
|
||||
extern Gfx GFX_ARRAY_SECONDARY_0x7a8[];
|
||||
extern Gfx GFX_ARRAY_PRIMARY_0x810[];
|
||||
|
||||
|
||||
ModelNode* ModelNode1 = &ModelNodeGroup_1;
|
||||
ModelNode* ModelNode2 = &ModelNodeDL_Lens;
|
||||
ModelNode* ModelNode3 = &ModelNodeBB_Lens;
|
||||
ModelNode* ModelNode4 = &ModelNodeSwitch_0;
|
||||
|
||||
ModelFileTextures proptextures[TEXTURECOUNT] =
|
||||
{
|
||||
{_image247_ID, 0x20, 0x40, 0x07, 0x00, 0x01, 0x00, 0x0000},
|
||||
{_image265_ID, 0x40, 0x20, 0x07, 0x00, 0x01, 0x00, 0x0000},
|
||||
{_image511_ID, 0x80, 0x20, 0x07, 0x00, 0x00, 0x00, 0x0000},
|
||||
{_image856_ID, 0x40, 0x40, 0x07, 0x00, 0x00, 0x00, 0x0000},
|
||||
{IMAGE_247, 0x20, 0x40, 0x07, 0x00, 0x01, 0x00, 0x0000},
|
||||
{IMAGE_265, 0x40, 0x20, 0x07, 0x00, 0x01, 0x00, 0x0000},
|
||||
{IMAGE_511, 0x80, 0x20, 0x07, 0x00, 0x00, 0x00, 0x0000},
|
||||
{IMAGE_856, 0x40, 0x40, 0x07, 0x00, 0x00, 0x00, 0x0000},
|
||||
{IMAGE_GLASS3, 0x36, 0x36, 0x03, 0x00, 0x01, 0x02, 0x0200},
|
||||
{_image1514_ID, 0x01, 0x01, 0x01, 0x00, 0x02, 0x00, 0x0000},
|
||||
{IMAGE_1514, 0x01, 0x01, 0x01, 0x00, 0x02, 0x00, 0x0000},
|
||||
};
|
||||
|
||||
// { opcode, data, parent, next, prev, child}
|
||||
ModelNode ModelNodeGroup_0 = { MODELNODE_OPCODE_GROUP, GroupRecord_0x118, 0x0, 0x0, 0x0, ModelNodeBB_0};
|
||||
ModelNode ModelNodeBB_0 = { MODELNODE_OPCODE_BBOX, BBoxRecord_0x134, ModelNodeGroup_0, 0x0, 0x0, ModelNodeDL_Mount};
|
||||
ModelNode ModelNodeDL_Mount = { MODELNODE_OPCODE_DLCOLLISION, DL_Mount, ModelNodeBB_0, ModelNodeGroup_1, 0x0, 0x0};
|
||||
ModelNode ModelNodeGroup_1 = { MODELNODE_OPCODE_GROUP, GroupRecord_0x360, ModelNodeBB_0, 0x0, ModelNodeDL_Mount, ModelNodeSwitch_0};
|
||||
ModelNode ModelNodeSwitch_0 = { MODELNODE_OPCODE_SWITCH, Switch_0x37c, ModelNodeGroup_1, ModelNodeDL_Housing, 0x0, ModelNodeBB_Lens};
|
||||
ModelNode ModelNodeBB_Lens = { MODELNODE_OPCODE_BBOX, BBox_Lens, ModelNodeSwitch_0, 0x0, 0x0, ModelNodeDL_Lens};
|
||||
ModelNode ModelNodeDL_Lens = { MODELNODE_OPCODE_DLCOLLISION, DL_Lens, ModelNodeBB_Lens, 0x0, 0x0, 0x0};
|
||||
ModelNode ModelNodeDL_Housing = { MODELNODE_OPCODE_DLCOLLISION, DL_Housing, ModelNodeGroup_1, 0x0, ModelNodeSwitch_0, 0x0};
|
||||
ModelNode ModelNodeGroup_0 = { MODELNODE_OPCODE_GROUP, &GroupRecord_0x118, NULL, NULL, NULL, &ModelNodeBB_0};
|
||||
ModelNode ModelNodeBB_0 = { MODELNODE_OPCODE_BBOX, &BBoxRecord_0x134, &ModelNodeGroup_0, NULL, NULL, &ModelNodeDL_Mount};
|
||||
ModelNode ModelNodeDL_Mount = { MODELNODE_OPCODE_DLCOLLISION, &DL_Mount, &ModelNodeBB_0, &ModelNodeGroup_1, NULL, NULL};
|
||||
ModelNode ModelNodeGroup_1 = { MODELNODE_OPCODE_GROUP, &GroupRecord_0x360, &ModelNodeBB_0, NULL, &ModelNodeDL_Mount, &ModelNodeSwitch_0};
|
||||
ModelNode ModelNodeSwitch_0 = { MODELNODE_OPCODE_SWITCH, &Switch_0x37c, &ModelNodeGroup_1, &ModelNodeDL_Housing, NULL, &ModelNodeBB_Lens};
|
||||
ModelNode ModelNodeBB_Lens = { MODELNODE_OPCODE_BBOX, &BBox_Lens, &ModelNodeSwitch_0, NULL, NULL, &ModelNodeDL_Lens};
|
||||
ModelNode ModelNodeDL_Lens = { MODELNODE_OPCODE_DLCOLLISION, &DL_Lens, &ModelNodeBB_Lens, NULL, NULL, NULL};
|
||||
ModelNode ModelNodeDL_Housing = { MODELNODE_OPCODE_DLCOLLISION, &DL_Housing, &ModelNodeGroup_1, NULL, &ModelNodeSwitch_0, NULL};
|
||||
|
||||
ModelRoData_GroupRecord GroupRecord_0x118 =
|
||||
{
|
||||
{0.005449, -773.8468, -200.64182},
|
||||
0x0,
|
||||
0x0,
|
||||
0xFFFF,
|
||||
0xFFFF,
|
||||
ModelNodeGroup_1,
|
||||
-1,
|
||||
-1,
|
||||
&ModelNodeGroup_1,
|
||||
291.0673
|
||||
};
|
||||
|
||||
@@ -88,12 +132,12 @@ Vertex Collision_Vertex_ARRAY_0x250[COLLISIONVERTEXCOUNT0] =
|
||||
{{ -25, 77, 35}, 0x000f, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} }
|
||||
};
|
||||
|
||||
s16 POINT_USAGE_ARRAY_0x320[] =
|
||||
s16 POINT_USAGE_ARRAY_0x320[VERTEXGROUPCOUNT0] =
|
||||
{
|
||||
0x6, 0x3, 0x5, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
0x6, 0x3, 0x5, -1,
|
||||
-1, -1, -1, -1,
|
||||
-1, -1, -1, -1,
|
||||
-1, -1, -1, -1
|
||||
};
|
||||
|
||||
ModelRoData_DisplayList_CollisionRecord DL_Mount =
|
||||
@@ -103,9 +147,10 @@ ModelRoData_DisplayList_CollisionRecord DL_Mount =
|
||||
Vertex_ARRAY_0x150,
|
||||
VERTEXGROUPCOUNT0,
|
||||
COLLISIONVERTEXCOUNT0,
|
||||
Collision_Vertex_ARRAY,
|
||||
Collision_Vertex_ARRAY_0x250,
|
||||
POINT_USAGE_ARRAY_0x320,
|
||||
4, 0, 0, 0
|
||||
4, 0,
|
||||
0x0
|
||||
};
|
||||
|
||||
|
||||
@@ -114,15 +159,15 @@ ModelRoData_GroupRecord GroupRecord_0x360 =
|
||||
{0.0, 70.36643, 31.983679},
|
||||
1,
|
||||
1,
|
||||
0xFFFF,
|
||||
0xFFFF,
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
481.60675
|
||||
};
|
||||
|
||||
ModelRoData_SwitchRecord Switch_0x37c =
|
||||
{
|
||||
ModelNodeBB_Lens,
|
||||
&ModelNodeBB_Lens,
|
||||
0
|
||||
};
|
||||
|
||||
@@ -150,7 +195,7 @@ Vertex Collision_Vertex_ARRAY_0x3e0[COLLISIONVERTEXCOUNT1] =
|
||||
|
||||
s16 POINT_USAGE_ARRAY_0x420[VERTEXGROUPCOUNT1] =
|
||||
{
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
-1, -1, -1, -1
|
||||
};
|
||||
|
||||
ModelRoData_DisplayList_CollisionRecord DL_Lens =
|
||||
@@ -160,9 +205,10 @@ ModelRoData_DisplayList_CollisionRecord DL_Lens =
|
||||
Vertex_ARRAY_0x3a0,
|
||||
VERTEXGROUPCOUNT1,
|
||||
COLLISIONVERTEXCOUNT1,
|
||||
Collision_Vertex_ARRAY,
|
||||
Collision_Vertex_ARRAY_0x3e0,
|
||||
POINT_USAGE_ARRAY_0x420,
|
||||
4, 0, 0, 0
|
||||
4, 0,
|
||||
0x0
|
||||
};
|
||||
|
||||
Vertex Vertex_ARRAY_0x448[VERTEXGROUPCOUNT2] =
|
||||
@@ -211,11 +257,11 @@ Vertex Collision_Vertex_ARRAY_0x5c8[COLLISIONVERTEXCOUNT2] =
|
||||
s16 POINT_USAGE_ARRAY_0x688[VERTEXGROUPCOUNT2] =
|
||||
{
|
||||
0x9, 0xE, 0xD, 0xA,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
-1, -1, -1, -1,
|
||||
0x11, 0x10, 0x17, 0x14,
|
||||
0x15, 0x16, 0x13, 0x12,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
-1, -1, -1, -1,
|
||||
-1, -1, -1, -1,
|
||||
};
|
||||
|
||||
ModelRoData_DisplayList_CollisionRecord DL_Housing =
|
||||
@@ -225,9 +271,10 @@ ModelRoData_DisplayList_CollisionRecord DL_Housing =
|
||||
Vertex_ARRAY_0x448,
|
||||
VERTEXGROUPCOUNT2,
|
||||
COLLISIONVERTEXCOUNT2,
|
||||
Collision_Vertex_ARRAY,
|
||||
Collision_Vertex_ARRAY_0x5c8,
|
||||
POINT_USAGE_ARRAY_0x688,
|
||||
4, 0, 0, 0
|
||||
4, 0,
|
||||
0x0
|
||||
};
|
||||
|
||||
Gfx GFX_ARRAY_PRIMARY_0x6d8[] =
|
||||
@@ -235,13 +282,13 @@ Gfx GFX_ARRAY_PRIMARY_0x6d8[] =
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureLOD(G_TL_LOD),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 6, G_TX_RENDERTILE, G_ON),
|
||||
gsDPNoOpTag(0x000000F7),
|
||||
gsDPNoOpTag(IMAGE_247),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsSPMatrix(0x03000000, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW),
|
||||
gsSPVertex(0x04000000, 8, 0),
|
||||
gsSP1Triangle(0, 1, 2, 0),
|
||||
gsDPNoOpTag(0x000001FF),
|
||||
gsDPNoOpTag(IMAGE_511),
|
||||
0xB1000035, 0x00007643,
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
@@ -251,13 +298,13 @@ Gfx GFX_ARRAY_SECONDARY_0x738[] =
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureLOD(G_TL_LOD),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 6, G_TX_RENDERTILE, G_ON),
|
||||
gsDPNoOpTag(0x00000109),
|
||||
gsDPNoOpTag(IMAGE_265),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsSPClearGeometryMode(G_CULL_BOTH),
|
||||
gsSPMatrix(0x03000000, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW),
|
||||
gsSPVertex(0x04000080, 8, 0),
|
||||
0xB1007632, 0x64542010,
|
||||
gsSP2Triangles(0, 59, 25, 0, 42, 16, 8, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
@@ -273,14 +320,14 @@ Gfx GFX_ARRAY_SECONDARY_0x7a8[] =
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureLOD(G_TL_LOD),
|
||||
gsSPTexture(3456, 3456, 2, G_TX_RENDERTILE, G_ON),
|
||||
gsDPNoOpTag(0x0000028E),
|
||||
gsDPNoOpTag(IMAGE_GLASS3),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsSPSetGeometryMode(G_LIGHTING | G_TEXTURE_GEN),
|
||||
gsSPClearGeometryMode(G_CULL_BOTH),
|
||||
gsSPMatrix(0x03000040, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW),
|
||||
gsSPVertex(0x04000000, 4, 0),
|
||||
0xB1000032, 0x00002010,
|
||||
gsSP2Triangles(0, 0, 25, 0, 0, 16, 8, 0),
|
||||
gsSPClearGeometryMode(G_LIGHTING | G_TEXTURE_GEN),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
@@ -291,22 +338,22 @@ Gfx GFX_ARRAY_PRIMARY_0x810[] =
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureLOD(G_TL_LOD),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 6, G_TX_RENDERTILE, G_ON),
|
||||
gsDPNoOpTag(0x000001FF),
|
||||
gsDPNoOpTag(IMAGE_511),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsSPMatrix(0x03000040, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW),
|
||||
gsSPVertex(0x04000000, 16, 0),
|
||||
0xB1000032, 0x00002010,
|
||||
gsDPNoOpTag(0x00000358),
|
||||
0xB1000076, 0x00006454,
|
||||
gsDPNoOpTag(0x000000F7),
|
||||
gsSP2Triangles(0, 0, 25, 0, 0, 16, 8, 0),
|
||||
gsDPNoOpTag(IMAGE_856),
|
||||
gsSP2Triangles(0, 0, 59, 0, 0, 50, 42, 0),
|
||||
gsDPNoOpTag(IMAGE_247),
|
||||
gsSPClearGeometryMode(G_CULL_BOTH),
|
||||
0xB100FEBA, 0xECDCA898,
|
||||
gsDPNoOpTag(0x000001FF),
|
||||
gsSP2Triangles(0, 127, 93, 0, 110, 84, 76, 0),
|
||||
gsDPNoOpTag(IMAGE_511),
|
||||
gsSPVertex(0x04000100, 8, 0),
|
||||
0xB1000032, 0x00002010,
|
||||
gsSP2Triangles(0, 0, 25, 0, 0, 16, 8, 0),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 1, G_TX_RENDERTILE, G_ON),
|
||||
gsDPNoOpTag(0x000005EA),
|
||||
0xB1000076, 0x00006454,
|
||||
gsDPNoOpTag(IMAGE_1514),
|
||||
gsSP2Triangles(0, 0, 59, 0, 0, 50, 42, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
@@ -1 +1,5 @@
|
||||
PROPFILERECORD(cctv, 0.1)
|
||||
//included by propItemModelFileRecord.inc.c to pobjdata.c
|
||||
//touch pobjdata.c to recompile
|
||||
|
||||
//NAME, SCALE
|
||||
PROPFILERECORD(cctv, 0.1)
|
||||
@@ -2337,7 +2337,7 @@ u8 chrAI_7[] = {
|
||||
IFMyAngleToBondLessThanDeg(90.000000,lbl30)
|
||||
IFMyAngleToBondGreaterThanDeg(270.000000,lbl30)
|
||||
//USING HUD MESSAGE Stringy = 0, ai->txt = 2057
|
||||
TextPrintTop(TEXT(LARCH,9))
|
||||
TextPrintTop(getStringID(LARCH,9))
|
||||
LookSurprised()
|
||||
GotoNext(lbl10)
|
||||
|
||||
@@ -2346,13 +2346,13 @@ u8 chrAI_7[] = {
|
||||
IFObjectiveBitfieldHas(0x800,lbl42)
|
||||
IFChrDoesNotExist(1,lbl42)
|
||||
//USING HUD MESSAGE Stringy = 0, ai->txt = 2082
|
||||
TextPrintTop(TEXT(LARCH,34))
|
||||
TextPrintTop(getStringID(LARCH,34))
|
||||
GotoNext(lbl43)
|
||||
|
||||
|
||||
Label(lbl42)
|
||||
//USING HUD MESSAGE Stringy = 0, ai->txt = 2058
|
||||
TextPrintTop(TEXT(LARCH,10))
|
||||
TextPrintTop(getStringID(LARCH,10))
|
||||
|
||||
Label(lbl43)
|
||||
RaiseArms()
|
||||
@@ -2371,7 +2371,7 @@ u8 chrAI_7[] = {
|
||||
Label(lbl27)
|
||||
UnsetObjectiveBitfield(0x400)
|
||||
//USING HUD MESSAGE Stringy = 0, ai->txt = 2059
|
||||
TextPrintTop(TEXT(LARCH,11))
|
||||
TextPrintTop(getStringID(LARCH,11))
|
||||
SetReturnAiList(1032)
|
||||
SetNewRandom()
|
||||
IFRandomGreaterThan(128,lbl26)
|
||||
@@ -2390,7 +2390,7 @@ u8 chrAI_7[] = {
|
||||
|
||||
Label(lbl48)
|
||||
//USING HUD MESSAGE Stringy = 0, ai->txt = 2060
|
||||
TextPrintTop(TEXT(LARCH,12))
|
||||
TextPrintTop(getStringID(LARCH,12))
|
||||
|
||||
YIELD_FOREVER(lbl12)
|
||||
|
||||
@@ -2477,7 +2477,7 @@ u8 chrAI_8[] = {
|
||||
Label(lbl5)
|
||||
PRINT("saw bond\n")
|
||||
//USING HUD MESSAGE Stringy = 0, ai->txt = 2056
|
||||
TextPrintTop(TEXT(LARCH,8))
|
||||
TextPrintTop(getStringID(LARCH,8))
|
||||
RaiseArms()
|
||||
SetObjectiveBitfield(0x100)
|
||||
SetMyFlags2(0x80)
|
||||
|
||||
@@ -11523,7 +11523,8 @@ StandTile tile_874 = {
|
||||
};
|
||||
|
||||
StandTile tile_875 = {
|
||||
0x026108, 0x06,
|
||||
0x026108 /*p609b*/,
|
||||
0x06,
|
||||
0x0,
|
||||
0xa, 0xa, 0xa,
|
||||
3,
|
||||
|
||||
+222
-222
@@ -1,227 +1,227 @@
|
||||
enum LGUNE_STRINGS
|
||||
{
|
||||
GUN_STR_00, // " D5K\n",
|
||||
GUN_STR_01, // " Issue\n",
|
||||
GUN_STR_02, // " Mine\n",
|
||||
GUN_STR_03, // " PP7\n",
|
||||
GUN_STR_04, // " DD44\n",
|
||||
GUN_STR_05, // " Gun\n",
|
||||
GUN_STR_06, // " Knife\n",
|
||||
GUN_STR_07, // " Mine\n",
|
||||
GUN_STR_08, // " KF7\n",
|
||||
GUN_STR_09, // " Mine\n",
|
||||
GUN_STR_0A, // " Rifle\n",
|
||||
GUN_STR_0B, // " Rocket\n",
|
||||
GUN_STR_0C, // " Shotgun\n",
|
||||
GUN_STR_0D, // "(Proximity)\n",
|
||||
GUN_STR_0E, // "(Remote)\n",
|
||||
GUN_STR_0F, // "(Timed)\n",
|
||||
GUN_STR_10, // "(silenced)\n",
|
||||
GUN_STR_11, // "-\n",
|
||||
GUN_STR_12, // "Assault\n",
|
||||
GUN_STR_13, // "Attract\n",
|
||||
GUN_STR_14, // "Audio Tape\n",
|
||||
GUN_STR_15, // "Automatic Shotgun\n",
|
||||
GUN_STR_16, // "Automatic\n",
|
||||
GUN_STR_17, // "Blackbox\n",
|
||||
GUN_STR_18, // "Blueprints\n",
|
||||
GUN_STR_19, // "Bolt Key\n",
|
||||
GUN_STR_1A, // "Bomb Case\n",
|
||||
GUN_STR_1B, // "Bomb Defuser\n",
|
||||
GUN_STR_1C, // "Briefcase\n",
|
||||
GUN_STR_1D, // "Bug Detector\n",
|
||||
GUN_STR_1E, // "Bug\n",
|
||||
GUN_STR_1F, // "Bungee\n",
|
||||
GUN_STR_20, // "Camera\n",
|
||||
GUN_STR_21, // "Circuit Board\n",
|
||||
GUN_STR_22, // "Clipboard\n",
|
||||
GUN_STR_23, // "Communicator\n",
|
||||
GUN_STR_24, // "Controller\n",
|
||||
GUN_STR_25, // "Cougar Magnum\n",
|
||||
GUN_STR_26, // "Cougar\n",
|
||||
GUN_STR_27, // "Credit Card\n",
|
||||
GUN_STR_28, // "D5K (silenced)\n",
|
||||
GUN_STR_29, // "D5K Deutsche\n",
|
||||
GUN_STR_2A, // "DD44 Dostovei\n",
|
||||
GUN_STR_2B, // "Dark Glasses\n",
|
||||
GUN_STR_2C, // "Dat Tape\n",
|
||||
GUN_STR_2D, // "Datathief\n",
|
||||
GUN_STR_2E, // "Detonator\n",
|
||||
GUN_STR_00___MP5_LF, // " D5K\n",
|
||||
GUN_STR_01___ISSUE_LF, // " Issue\n",
|
||||
GUN_STR_02___MINE_LF, // " Mine\n",
|
||||
GUN_STR_03__PPK_LF, // " PP7\n",
|
||||
GUN_STR_04__TT33_LF, // " DD44\n",
|
||||
GUN_STR_05__GUN_LF, // " Gun\n",
|
||||
GUN_STR_06__KNIFE_LF, // " Knife\n",
|
||||
GUN_STR_07__MINE_LF, // " Mine\n",
|
||||
GUN_STR_08_AK47_LF, // " KF7\n",
|
||||
GUN_STR_09_MINE_LF, // " Mine\n",
|
||||
GUN_STR_0A_RIFLE_LF, // " Rifle\n",
|
||||
GUN_STR_0B_ROCKET_LF, // " Rocket\n",
|
||||
GUN_STR_0C_SHOTGUN_LF, // " Shotgun\n",
|
||||
GUN_STR_0D_PROXIMITY_LF, // "(Proximity)\n",
|
||||
GUN_STR_0E_REMOTE_LF, // "(Remote)\n",
|
||||
GUN_STR_0F_TIMED_LF, // "(Timed)\n",
|
||||
GUN_STR_10_SILENCED_LF, // "(silenced)\n",
|
||||
GUN_STR_11_DASH_LF, // "-\n",
|
||||
GUN_STR_12_ASSAULT_LF, // "Assault\n",
|
||||
GUN_STR_13_ATTRACT_LF, // "Attract\n",
|
||||
GUN_STR_14_AUDIOTAPE_LF, // "Audio Tape\n",
|
||||
GUN_STR_15_AUTOMATICSHOTGUN_LF, // "Automatic Shotgun\n",
|
||||
GUN_STR_16_AUTOMATIC_LF, // "Automatic\n",
|
||||
GUN_STR_17_BLACKBOX_LF, // "Blackbox\n",
|
||||
GUN_STR_18_BLUEPRINTS_LF, // "Blueprints\n",
|
||||
GUN_STR_19_BOLTKEY_LF, // "Bolt Key\n",
|
||||
GUN_STR_1A_BOMBCASE_LF, // "Bomb Case\n",
|
||||
GUN_STR_1B_BOMBDEFUSER_LF, // "Bomb Defuser\n",
|
||||
GUN_STR_1C_BRIEFCASE_LF, // "Briefcase\n",
|
||||
GUN_STR_1D_BUGDETECTOR_LF, // "Bug Detector\n",
|
||||
GUN_STR_1E_BUG_LF, // "Bug\n",
|
||||
GUN_STR_1F_BUNGEE_LF, // "Bungee\n",
|
||||
GUN_STR_20_CAMERA_LF, // "Camera\n",
|
||||
GUN_STR_21_CIRCUITBOARD_LF, // "Circuit Board\n",
|
||||
GUN_STR_22_CLIPBOARD_LF, // "Clipboard\n",
|
||||
GUN_STR_23_COMMINICATOR_LF, // "Communicator\n",
|
||||
GUN_STR_24_CONTROLLER_LF, // "Controller\n",
|
||||
GUN_STR_25_ROUGERMAGNUM_LF, // "Cougar Magnum\n",
|
||||
GUN_STR_26_ROUGER_LF, // "Cougar\n",
|
||||
GUN_STR_27_CREDITCARD_LF, // "Credit Card\n",
|
||||
GUN_STR_28_MP5KSILENCED_LF, // "D5K (silenced)\n",
|
||||
GUN_STR_29_MP5K_LF, // "D5K Deutsche\n",
|
||||
GUN_STR_2A_TT33TOKAREV_LF, // "DD44 Dostovei\n",
|
||||
GUN_STR_2B_DARKGLASSES_LF, // "Dark Glasses\n",
|
||||
GUN_STR_2C_DATTAPE_LF, // "Dat Tape\n",
|
||||
GUN_STR_2D_DATATHIEF_LF, // "Datathief\n",
|
||||
GUN_STR_2E_DETONATOR_LF, // "Detonator\n",
|
||||
GUN_STR_2F, // "Deutsche\n",
|
||||
GUN_STR_30, // "Door Decoder\n",
|
||||
GUN_STR_31, // "Door Exploder\n",
|
||||
GUN_STR_32, // "Dostovei\n",
|
||||
GUN_STR_33, // "Guidance Data\n",
|
||||
GUN_STR_34, // "Flare Pistol\n",
|
||||
GUN_STR_35, // "Gas Keyring\n",
|
||||
GUN_STR_36, // "Geiger Counter\n",
|
||||
GUN_STR_37, // "Gold Bar\n",
|
||||
GUN_STR_38, // "Gold PP7\n",
|
||||
GUN_STR_39, // "Golden Gun\n",
|
||||
GUN_STR_3A, // "GoldenEye Key\n",
|
||||
GUN_STR_3B, // "Golden\n",
|
||||
GUN_STR_3C, // "Grenade Launcher\n",
|
||||
GUN_STR_3D, // "Grenade\n",
|
||||
GUN_STR_3E, // "Hand Grenade\n",
|
||||
GUN_STR_3F, // "Heroine\n",
|
||||
GUN_STR_40, // "Hunting Knife\n",
|
||||
GUN_STR_41, // "Identifier\n",
|
||||
GUN_STR_42, // "KF7 Soviet\n",
|
||||
GUN_STR_43, // "Key Analyzer Case\n",
|
||||
GUN_STR_44, // "Key Analyzer\n",
|
||||
GUN_STR_45, // "Keycard\n",
|
||||
GUN_STR_46, // "Knife\n",
|
||||
GUN_STR_47, // "Laser\n",
|
||||
GUN_STR_48, // "Launcher\n",
|
||||
GUN_STR_49, // "Lectre\n",
|
||||
GUN_STR_4A, // "Lock Exploder\n",
|
||||
GUN_STR_4B, // "Magnet Repel\n",
|
||||
GUN_STR_4C, // "Magnum\n",
|
||||
GUN_STR_4D, // "Map\n",
|
||||
GUN_STR_4E, // "Micro Camera\n",
|
||||
GUN_STR_4F, // "Microcode\n",
|
||||
GUN_STR_50, // "Microfilm\n",
|
||||
GUN_STR_51, // "Military Laser\n",
|
||||
GUN_STR_52, // "Military\n",
|
||||
GUN_STR_53, // "Money\n",
|
||||
GUN_STR_54, // "Null\n",
|
||||
GUN_STR_55, // "PP7 (silenced)\n",
|
||||
GUN_STR_56, // "PP7 Special Issue\n",
|
||||
GUN_STR_57, // "PP7 Special\n",
|
||||
GUN_STR_58, // "Phantom\n",
|
||||
GUN_STR_59, // "Piton Gun\n",
|
||||
GUN_STR_5A, // "Plans\n",
|
||||
GUN_STR_5B, // "Plastique\n",
|
||||
GUN_STR_5C, // "Polarized Glasses\n",
|
||||
GUN_STR_5D, // "Proximity Mine\n",
|
||||
GUN_STR_5E, // "RC-P90\n",
|
||||
GUN_STR_5F, // "Red Dossier\n",
|
||||
GUN_STR_60, // "Remote Mine\n",
|
||||
GUN_STR_61, // "Rocket Launcher\n",
|
||||
GUN_STR_62, // "Safecracker Case\n",
|
||||
GUN_STR_63, // "Safecracker\n",
|
||||
GUN_STR_64, // "Shotgun\n",
|
||||
GUN_STR_65, // "Silver PP7\n",
|
||||
GUN_STR_66, // "Sniper Rifle\n",
|
||||
GUN_STR_67, // "Sniper\n",
|
||||
GUN_STR_68, // "Soviet\n",
|
||||
GUN_STR_69, // "Spool Tape\n",
|
||||
GUN_STR_6A, // "Spy File\n",
|
||||
GUN_STR_6B, // "Klobb\n",
|
||||
GUN_STR_6C, // "Staff List\n",
|
||||
GUN_STR_6D, // "Suit_lf_hand\n",
|
||||
GUN_STR_6E, // "Tank\n",
|
||||
GUN_STR_6F, // "Taser\n",
|
||||
GUN_STR_70, // "Throwing Knife\n",
|
||||
GUN_STR_71, // "Throwing\n",
|
||||
GUN_STR_72, // "Timed Mine\n",
|
||||
GUN_STR_73, // "Token\n",
|
||||
GUN_STR_74, // "US AR33 Assault Rifle\n",
|
||||
GUN_STR_75, // "US AR33\n",
|
||||
GUN_STR_76, // "Unarmed\n",
|
||||
GUN_STR_77, // "Video Tape\n",
|
||||
GUN_STR_78, // "Watch Communicator\n",
|
||||
GUN_STR_79, // "Watch Geiger Counter\n",
|
||||
GUN_STR_7A, // "Watch Identifier\n",
|
||||
GUN_STR_7B, // "Watch Laser\n",
|
||||
GUN_STR_7C, // "Watch Magnet Attract\n",
|
||||
GUN_STR_7D, // "Watch Magnet Repel\n",
|
||||
GUN_STR_7E, // "Watch Magnet\n",
|
||||
GUN_STR_7F, // "Watch\n",
|
||||
GUN_STR_80, // "Weapon Case\n",
|
||||
GUN_STR_81, // "Yale Key\n",
|
||||
GUN_STR_82, // "ZMG (9mm)\n",
|
||||
GUN_STR_83, // "\n",
|
||||
GUN_STR_84, // "ar33\n",
|
||||
GUN_STR_85, // "audio tape\n",
|
||||
GUN_STR_86, // "auto shotgun\n",
|
||||
GUN_STR_87, // "blackbox\n",
|
||||
GUN_STR_88, // "blueprints\n",
|
||||
GUN_STR_89, // "bolt key\n",
|
||||
GUN_STR_8A, // "bomb case\n",
|
||||
GUN_STR_8B, // "bomb defuser\n",
|
||||
GUN_STR_8C, // "briefcase\n",
|
||||
GUN_STR_8D, // "bug detector\n",
|
||||
GUN_STR_8E, // "bug\n",
|
||||
GUN_STR_8F, // "bungee\n",
|
||||
GUN_STR_90, // "camera\n",
|
||||
GUN_STR_91, // "circuit board\n",
|
||||
GUN_STR_92, // "clipboard\n",
|
||||
GUN_STR_93, // "cougar magnum\n",
|
||||
GUN_STR_94, // "credit card\n",
|
||||
GUN_STR_95, // "d5k (silenced)\n",
|
||||
GUN_STR_96, // "d5k\n",
|
||||
GUN_STR_97, // "dark glasses\n",
|
||||
GUN_STR_98, // "dat tape\n",
|
||||
GUN_STR_99, // "datathief\n",
|
||||
GUN_STR_9A, // "dd44\n",
|
||||
GUN_STR_9B, // "detonator\n",
|
||||
GUN_STR_9C, // "door decoder\n",
|
||||
GUN_STR_9D, // "door exploder\n",
|
||||
GUN_STR_9E, // "guidance data\n",
|
||||
GUN_STR_9F, // "flare pistol\n",
|
||||
GUN_STR_A0, // "gas keyring\n",
|
||||
GUN_STR_A1, // "gold bar\n",
|
||||
GUN_STR_A2, // "gold pp7\n",
|
||||
GUN_STR_A3, // "golden gun\n",
|
||||
GUN_STR_A4, // "goldeneye key\n",
|
||||
GUN_STR_A5, // "grenade launcher\n",
|
||||
GUN_STR_A6, // "grenade\n",
|
||||
GUN_STR_A7, // "heroine\n",
|
||||
GUN_STR_A8, // "hunting knife\n",
|
||||
GUN_STR_A9, // "key analyzer\n",
|
||||
GUN_STR_AA, // "keycard\n",
|
||||
GUN_STR_AB, // "kf7 soviet\n",
|
||||
GUN_STR_AC, // "laser\n",
|
||||
GUN_STR_AD, // "lectre\n",
|
||||
GUN_STR_AE, // "lock exploder\n",
|
||||
GUN_STR_AF, // "map\n",
|
||||
GUN_STR_B0, // "micro camera\n",
|
||||
GUN_STR_B1, // "microcode\n",
|
||||
GUN_STR_B2, // "microfilm\n",
|
||||
GUN_STR_B3, // "money\n",
|
||||
GUN_STR_B4, // "phantom\n",
|
||||
GUN_STR_B5, // "piton gun\n",
|
||||
GUN_STR_B6, // "plans\n",
|
||||
GUN_STR_B7, // "plastique\n",
|
||||
GUN_STR_B8, // "polarized glasses\n",
|
||||
GUN_STR_B9, // "pp7 (silenced)\n",
|
||||
GUN_STR_BA, // "pp7\n",
|
||||
GUN_STR_BB, // "proximity mine\n",
|
||||
GUN_STR_BC, // "rc-p90\n",
|
||||
GUN_STR_BD, // "red dossier\n",
|
||||
GUN_STR_BE, // "remote mine\n",
|
||||
GUN_STR_BF, // "rocket launcher\n",
|
||||
GUN_STR_C0, // "safecracker\n",
|
||||
GUN_STR_C1, // "shotgun\n",
|
||||
GUN_STR_C2, // "silver pp7\n",
|
||||
GUN_STR_C3, // "sniper rifle\n",
|
||||
GUN_STR_C4, // "spool tape\n",
|
||||
GUN_STR_C5, // "spy file\n",
|
||||
GUN_STR_C6, // "klobb\n",
|
||||
GUN_STR_C7, // "staff list\n",
|
||||
GUN_STR_C8, // "tank\n",
|
||||
GUN_STR_C9, // "taser\n",
|
||||
GUN_STR_CA, // "throwing knife\n",
|
||||
GUN_STR_CB, // "timed mine\n",
|
||||
GUN_STR_CC, // "token\n",
|
||||
GUN_STR_CD, // "unarmed\n",
|
||||
GUN_STR_CE, // "video tape\n",
|
||||
GUN_STR_CF, // "watch communicator\n",
|
||||
GUN_STR_D0, // "watch geiger counter\n",
|
||||
GUN_STR_D1, // "watch identifier\n",
|
||||
GUN_STR_D2, // "watch laser\n",
|
||||
GUN_STR_D3, // "watch magnet attract\n",
|
||||
GUN_STR_D4, // "watch magnet repel\n",
|
||||
GUN_STR_D5, // "weapon case\n",
|
||||
GUN_STR_D6, // "yale key\n",
|
||||
GUN_STR_D7, // "zmg (9mm)\n",
|
||||
GUN_STR_D8, // "Analyzing the GoldenEye key...\n",
|
||||
GUN_STR_D9, // "You do not have the GoldenEye\n key.\n",
|
||||
GUN_STR_DA, // "kill count",
|
||||
GUN_STR_DB, // "died once\n",
|
||||
GUN_STR_DC, // "died",
|
||||
GUN_STR_DD, // "times",
|
||||
GUN_STR_DE, // "suicide count",
|
||||
GUN_STR_30_DOORDECODER_LF, // "Door Decoder\n",
|
||||
GUN_STR_31_DOOREXPLODER_LF, // "Door Exploder\n",
|
||||
GUN_STR_32_TOKAREV_LF, // "Dostovei\n",
|
||||
GUN_STR_33_GUIDANCEDATA_LF, // "Guidance Data\n",
|
||||
GUN_STR_34_FLAREPISTOL_LF, // "Flare Pistol\n",
|
||||
GUN_STR_35_GASKEYRING_LF, // "Gas Keyring\n",
|
||||
GUN_STR_36_GEIGERCOUNTER_LF, // "Geiger Counter\n",
|
||||
GUN_STR_37_GOLDBAR_LF, // "Gold Bar\n",
|
||||
GUN_STR_38_GOLDPPK_LF, // "Gold PP7\n",
|
||||
GUN_STR_39_GOLDENGUN_LF, // "Golden Gun\n",
|
||||
GUN_STR_3A_GOLDENEYEKEY_LF, // "GoldenEye Key\n",
|
||||
GUN_STR_3B_GOLDEN_LF, // "Golden\n",
|
||||
GUN_STR_3C_GRENADELAUNCHER_LF, // "Grenade Launcher\n",
|
||||
GUN_STR_3D_GRENADE_LF, // "Grenade\n",
|
||||
GUN_STR_3E_HANDGRENADE_LF, // "Hand Grenade\n",
|
||||
GUN_STR_3F_HEROINE_LF, // "Heroine\n",
|
||||
GUN_STR_40_HUNTINGKNIFE_LF, // "Hunting Knife\n",
|
||||
GUN_STR_41_IDENTIFIER_LF, // "Identifier\n",
|
||||
GUN_STR_42_AK47_LF, // "KF7 Soviet\n",
|
||||
GUN_STR_43_KEYANALYZERCASE_LF, // "Key Analyzer Case\n",
|
||||
GUN_STR_44_KEYANALYZER_LF, // "Key Analyzer\n",
|
||||
GUN_STR_45_KEYCARD_LF, // "Keycard\n",
|
||||
GUN_STR_46_KNIFE_LF, // "Knife\n",
|
||||
GUN_STR_47_LASER_LF, // "Laser\n",
|
||||
GUN_STR_48_LAUNCHER_LF, // "Launcher\n",
|
||||
GUN_STR_49_LECTRE_LF, // "Lectre\n",
|
||||
GUN_STR_4A_LOCKEXPLODER_LF, // "Lock Exploder\n",
|
||||
GUN_STR_4B_MAGNETREPEL_LF, // "Magnet Repel\n",
|
||||
GUN_STR_4C_MAGNUM_LF, // "Magnum\n",
|
||||
GUN_STR_4D_MAP_LF, // "Map\n",
|
||||
GUN_STR_4E_MICROCAMERA_LF, // "Micro Camera\n",
|
||||
GUN_STR_4F_MICROCODE_LF, // "Microcode\n",
|
||||
GUN_STR_50_MICROFILM_LF, // "Microfilm\n",
|
||||
GUN_STR_51_MILITARYLASER_LF, // "Military Laser\n",
|
||||
GUN_STR_52_MILITARY_LF, // "Military\n",
|
||||
GUN_STR_53_MONEY_LF, // "Money\n",
|
||||
GUN_STR_54_NULL_LF, // "Null\n",
|
||||
GUN_STR_55_PPKSILENSED_LF, // "PP7 (silenced)\n",
|
||||
GUN_STR_56_WALTHERPPK_LF, // "PP7 Special Issue\n",
|
||||
GUN_STR_57_WALTHERPPK2_LF, // "PP7 Special\n",
|
||||
GUN_STR_58_SPECTRE_LF, // "Phantom\n",
|
||||
GUN_STR_59_PITONGUN_LF, // "Piton Gun\n",
|
||||
GUN_STR_5A_PLANS_LF, // "Plans\n",
|
||||
GUN_STR_5B_PLASTIQUE_LF, // "Plastique\n",
|
||||
GUN_STR_5C_POLARISEDGLASSES_LF, // "Polarized Glasses\n",
|
||||
GUN_STR_5D_PROXIMITYMINE_LF, // "Proximity Mine\n",
|
||||
GUN_STR_5E_FNP90_LF, // "RC-P90\n",
|
||||
GUN_STR_5F_REDDOSSIER_LF, // "Red Dossier\n",
|
||||
GUN_STR_60_REMOTEMINE_LF, // "Remote Mine\n",
|
||||
GUN_STR_61_ROCKETLAUNCHER_LF, // "Rocket Launcher\n",
|
||||
GUN_STR_62_SAFECRACKERCASE_LF, // "Safecracker Case\n",
|
||||
GUN_STR_63_SAFECRACKER_LF, // "Safecracker\n",
|
||||
GUN_STR_64_SHOTGUN_LF, // "Shotgun\n",
|
||||
GUN_STR_65_SILVERPPK_LF, // "Silver PP7\n",
|
||||
GUN_STR_66_SNIPERRIFLE_LF, // "Sniper Rifle\n",
|
||||
GUN_STR_67_SNIPER_LF, // "Sniper\n",
|
||||
GUN_STR_68_SOVIET_LF, // "Soviet\n",
|
||||
GUN_STR_69_SPOOLTAPE_LF, // "Spool Tape\n",
|
||||
GUN_STR_6A_SPYFILE_LF, // "Spy File\n",
|
||||
GUN_STR_6B_SKORPION_LF, // "Klobb\n",
|
||||
GUN_STR_6C_STAFFLIST_LF, // "Staff List\n",
|
||||
GUN_STR_6D_SUIT_LF_HAND_LF, // "Suit_lf_hand\n",
|
||||
GUN_STR_6E_TANK_LF, // "Tank\n",
|
||||
GUN_STR_6F_TASER_LF, // "Taser\n",
|
||||
GUN_STR_70_THROWINGKNIFE_LF, // "Throwing Knife\n",
|
||||
GUN_STR_71_THROWING_LF, // "Throwing\n",
|
||||
GUN_STR_72_TIMEDMINE_LF, // "Timed Mine\n",
|
||||
GUN_STR_73_TOKEN_LF, // "Token\n",
|
||||
GUN_STR_74_M16ASSAULTRIFLE_LF, // "US AR33 Assault Rifle\n",
|
||||
GUN_STR_75_M16_LF, // "US AR33\n",
|
||||
GUN_STR_76_UNARMED_LF, // "Unarmed\n",
|
||||
GUN_STR_77_VIDEOTAPE_LF, // "Video Tape\n",
|
||||
GUN_STR_78_WATCHCOMMINUCATOR_LF, // "Watch Communicator\n",
|
||||
GUN_STR_79_WATCHGEIGERCOUNTER_LF, // "Watch Geiger Counter\n",
|
||||
GUN_STR_7A_WATCHIDENTIFIER_LF, // "Watch Identifier\n",
|
||||
GUN_STR_7B_WATCHLASER_LF, // "Watch Laser\n",
|
||||
GUN_STR_7C_WATCHMAGNETATTRACT_LF, // "Watch Magnet Attract\n",
|
||||
GUN_STR_7D_WATCHMAGNETREPEL_LF, // "Watch Magnet Repel\n",
|
||||
GUN_STR_7E_WATCHMAGNET_LF, // "Watch Magnet\n",
|
||||
GUN_STR_7F_WATCH_LF, // "Watch\n",
|
||||
GUN_STR_80_WEAPONCASE_LF, // "Weapon Case\n",
|
||||
GUN_STR_81_YALEKEY_LF, // "Yale Key\n",
|
||||
GUN_STR_82_UZI_LF, // "ZMG (9mm)\n",
|
||||
GUN_STR_83_LF, // "\n",
|
||||
GUN_STR_84_M16_LF, // "ar33\n",
|
||||
GUN_STR_85_AUDIOTAPE_LF, // "audio tape\n",
|
||||
GUN_STR_86_AUTOSHOTGUN_LF, // "auto shotgun\n",
|
||||
GUN_STR_87_BLACKBOX_LF, // "blackbox\n",
|
||||
GUN_STR_88_BLUEPRINTS_LF, // "blueprints\n",
|
||||
GUN_STR_89_BOLTKEY_LF, // "bolt key\n",
|
||||
GUN_STR_8A_BOMBCASE_LF, // "bomb case\n",
|
||||
GUN_STR_8B_BOMBDEFUSER_LF, // "bomb defuser\n",
|
||||
GUN_STR_8C_BRIEFCASE_LF, // "briefcase\n",
|
||||
GUN_STR_8D_BUGDETECTOR_LF, // "bug detector\n",
|
||||
GUN_STR_8E_BUG_LF, // "bug\n",
|
||||
GUN_STR_8F_BUNGEE_LF, // "bungee\n",
|
||||
GUN_STR_90_CAMERA_LF, // "camera\n",
|
||||
GUN_STR_91_CIRCUITBOARD_LF, // "circuit board\n",
|
||||
GUN_STR_92_CLIPBOARD_LF, // "clipboard\n",
|
||||
GUN_STR_93_ROUGERMAGNUM_LF, // "cougar magnum\n",
|
||||
GUN_STR_94_CREDITCARD_LF, // "credit card\n",
|
||||
GUN_STR_95_MP5SILENSED_LF, // "d5k (silenced)\n",
|
||||
GUN_STR_96_MP5_LF, // "d5k\n",
|
||||
GUN_STR_97_DARKGLASSES_LF, // "dark glasses\n",
|
||||
GUN_STR_98_DATTAPE_LF, // "dat tape\n",
|
||||
GUN_STR_99_DATATHIEF_LF, // "datathief\n",
|
||||
GUN_STR_9A_TT33_LF, // "dd44\n",
|
||||
GUN_STR_9B_DETONATOR_LF, // "detonator\n",
|
||||
GUN_STR_9C_DOORDECODER_LF, // "door decoder\n",
|
||||
GUN_STR_9D_DOOREXPLODER_LF, // "door exploder\n",
|
||||
GUN_STR_9E_GUIDANCEDATA_LF, // "guidance data\n",
|
||||
GUN_STR_9F_FLAREPISTOL_LF, // "flare pistol\n",
|
||||
GUN_STR_A0_GASKEYRING_LF, // "gas keyring\n",
|
||||
GUN_STR_A1_GOLDBAR_LF, // "gold bar\n",
|
||||
GUN_STR_A2_GOLDPPK_LF, // "gold pp7\n",
|
||||
GUN_STR_A3_GOLDENGUN_LF, // "golden gun\n",
|
||||
GUN_STR_A4_GOLDENEYEKEY_LF, // "goldeneye key\n",
|
||||
GUN_STR_A5_GRENADELAUNCHER_LF, // "grenade launcher\n",
|
||||
GUN_STR_A6_GRENADE_LF, // "grenade\n",
|
||||
GUN_STR_A7_HEROINE_LF, // "heroine\n",
|
||||
GUN_STR_A8_HUNTINGKNIFE_LF, // "hunting knife\n",
|
||||
GUN_STR_A9_KEYANALYZER_LF, // "key analyzer\n",
|
||||
GUN_STR_AA_KEYCARD_LF, // "keycard\n",
|
||||
GUN_STR_AB_AK47_LF, // "kf7 soviet\n",
|
||||
GUN_STR_AC_LASER_LF, // "laser\n",
|
||||
GUN_STR_AD_LECTRE_LF, // "lectre\n",
|
||||
GUN_STR_AE_LOCKEXPLODER_LF, // "lock exploder\n",
|
||||
GUN_STR_AF_MAP_LF, // "map\n",
|
||||
GUN_STR_B0_MICROCAMERA_LF, // "micro camera\n",
|
||||
GUN_STR_B1_MICROCODE_LF, // "microcode\n",
|
||||
GUN_STR_B2_MICROFILM_LF, // "microfilm\n",
|
||||
GUN_STR_B3_MONEY_LF, // "money\n",
|
||||
GUN_STR_B4_SPECTRE_LF, // "phantom\n",
|
||||
GUN_STR_B5_PITONGUN_LF, // "piton gun\n",
|
||||
GUN_STR_B6_PLANS_LF, // "plans\n",
|
||||
GUN_STR_B7_PLASTIQUE_LF, // "plastique\n",
|
||||
GUN_STR_B8_POLARIZEDGLASSES_LF, // "polarized glasses\n",
|
||||
GUN_STR_B9_SILENCEDPPK_LF, // "pp7 (silenced)\n",
|
||||
GUN_STR_BA_PPK_LF, // "pp7\n",
|
||||
GUN_STR_BB_PROXIMIYTYMINE_LF, // "proximity mine\n",
|
||||
GUN_STR_BC_FNP90_LF, // "rc-p90\n",
|
||||
GUN_STR_BD_REDDOSSIER_LF, // "red dossier\n",
|
||||
GUN_STR_BE_REMOTEMINE_LF, // "remote mine\n",
|
||||
GUN_STR_BF_ROCKETLAUNCHER_LF, // "rocket launcher\n",
|
||||
GUN_STR_C0_SAFECRACKER_LF, // "safecracker\n",
|
||||
GUN_STR_C1_SHOTGUN_LF, // "shotgun\n",
|
||||
GUN_STR_C2_SILVERPPK_LF, // "silver pp7\n",
|
||||
GUN_STR_C3_SNIPERRIFLE_LF, // "sniper rifle\n",
|
||||
GUN_STR_C4_SPOOLTAPE_LF, // "spool tape\n",
|
||||
GUN_STR_C5_SPYFILE_LF, // "spy file\n",
|
||||
GUN_STR_C6_SKORPION_LF, // "klobb\n",
|
||||
GUN_STR_C7_STAFFLIST_LF, // "staff list\n",
|
||||
GUN_STR_C8_TANK_LF, // "tank\n",
|
||||
GUN_STR_C9_TASER_LF, // "taser\n",
|
||||
GUN_STR_CA_THROWINGKNIFE_LF, // "throwing knife\n",
|
||||
GUN_STR_CB_TIMEDMINE_LF, // "timed mine\n",
|
||||
GUN_STR_CC_TOKEN_LF, // "token\n",
|
||||
GUN_STR_CD_UNARMED_LF, // "unarmed\n",
|
||||
GUN_STR_CE_VIDEOTAPE_LF, // "video tape\n",
|
||||
GUN_STR_CF_WATCHCOMMUNICATOR_LF, // "watch communicator\n",
|
||||
GUN_STR_D0_WATCHGEIGERCOUNTER_LF, // "watch geiger counter\n",
|
||||
GUN_STR_D1_WATCHIDENTIFIER_LF, // "watch identifier\n",
|
||||
GUN_STR_D2_WATCHLASER_LF, // "watch laser\n",
|
||||
GUN_STR_D3_WATCHMAGNETICATTRACT_LF, // "watch magnet attract\n",
|
||||
GUN_STR_D4_WATCHMAGNETICREPEL_LF, // "watch magnet repel\n",
|
||||
GUN_STR_D5_WEAPONCASE_LF, // "weapon case\n",
|
||||
GUN_STR_D6_YALEKEY_LF, // "yale key\n",
|
||||
GUN_STR_D7_UZI_LF, // "zmg (9mm)\n",
|
||||
GUN_STR_D8_ANALYZINGTHEGOLDENEYEKEY_LF, // "Analyzing the GoldenEye key...\n",
|
||||
GUN_STR_D9_YOUDONOTHAVETHEGOLDENEYEKEY_LF, // "You do not have the GoldenEye\n key.\n",
|
||||
GUN_STR_DA_KILLCOUNT, // "kill count",
|
||||
GUN_STR_DB_DIEDONCE_LF, // "died once\n",
|
||||
GUN_STR_DC_DIED, // "died",
|
||||
GUN_STR_DD_TIMES, // "times",
|
||||
GUN_STR_DE_SUICIDECOUNT, // "suicide count",
|
||||
GUN_STR_DF // 0
|
||||
};
|
||||
+70
-69
@@ -1,75 +1,76 @@
|
||||
enum LMISCE_STRINGS
|
||||
{
|
||||
MISC_STR_00, // "Invincible",
|
||||
MISC_STR_01, // "All Guns",
|
||||
MISC_STR_02, // "Super x2 Health",
|
||||
MISC_STR_03, // "Super x2 Armor",
|
||||
MISC_STR_04, // "Bond Invisible",
|
||||
MISC_STR_05, // "Bond Phase",
|
||||
MISC_STR_06, // "Infinite Ammo",
|
||||
MISC_STR_07, // "DK Mode",
|
||||
MISC_STR_08, // "Tiny Bond",
|
||||
MISC_STR_09, // "Super x10 Health",
|
||||
MISC_STR_0A, // "Magnum",
|
||||
MISC_STR_0B, // "Laser",
|
||||
MISC_STR_0C, // "Golden Gun",
|
||||
MISC_STR_0D, // "Silver PP7",
|
||||
MISC_STR_0E, // "Gold PP7",
|
||||
MISC_STR_0F, // "invincibility on\n",
|
||||
MISC_STR_10, // "all guns on\n",
|
||||
MISC_STR_11, // "maximum ammo\n",
|
||||
MISC_STR_12, // "super x2 health\n",
|
||||
MISC_STR_13, // "super x2 armor\n",
|
||||
MISC_STR_14, // "invisibility on\n",
|
||||
MISC_STR_15, // "bond phase on\n",
|
||||
MISC_STR_16, // "infinite ammo on\n",
|
||||
MISC_STR_17, // "dk mode on\n",
|
||||
MISC_STR_18, // "extra weapons\n",
|
||||
MISC_STR_19, // "tiny bond on\n",
|
||||
MISC_STR_1A, // "paintball mode on\n",
|
||||
MISC_STR_1B, // "super x10 health\n",
|
||||
MISC_STR_1C, // "happy now karl?\n",
|
||||
MISC_STR_1D, // "fast mode on\n",
|
||||
MISC_STR_1E, // "invincibility off\n",
|
||||
MISC_STR_1F, // "all guns off\n",
|
||||
MISC_STR_20, // "invisibility off\n",
|
||||
MISC_STR_21, // "bond phase off\n",
|
||||
MISC_STR_22, // "infinite ammo off\n",
|
||||
MISC_STR_23, // "dk mode off\n",
|
||||
MISC_STR_24, // "tiny bond off\n",
|
||||
MISC_STR_25, // "paintball mode off\n",
|
||||
MISC_STR_26, // "radar on\n",
|
||||
MISC_STR_27, // "fast mode off\n",
|
||||
MISC_STR_28, // "NO NAME",
|
||||
MISC_STR_29, // "E R R O R\n",
|
||||
MISC_STR_2A, // "no briefing for this mission\n",
|
||||
MISC_STR_2B, // "\n",
|
||||
MISC_STR_2C, // "objective",
|
||||
MISC_STR_2D, // "completed\n",
|
||||
MISC_STR_2E, // "incomplete\n",
|
||||
MISC_STR_2F, // "failed\n",
|
||||
MISC_STR_30, // "slowest motion\n",
|
||||
MISC_STR_31, // "very slow motion\n",
|
||||
MISC_STR_32, // "slow motion\n",
|
||||
MISC_STR_33, // "normal motion\n",
|
||||
MISC_STR_34, // "fast motion\n",
|
||||
MISC_STR_35, // "very fast motion\n",
|
||||
MISC_STR_36, // "fastest motion\n",
|
||||
MISC_STR_37, // "Line Mode",
|
||||
MISC_STR_38, // "Paintball Mode",
|
||||
MISC_STR_39, // "Enemy Rockets",
|
||||
MISC_STR_3A, // "2x Rocket L.",
|
||||
MISC_STR_3B, // "2x Grenade L.",
|
||||
MISC_STR_3C, // "2x RC-P90",
|
||||
MISC_STR_3D, // "2x Throwing Knife",
|
||||
MISC_STR_3E, // "2x Hunting Knife",
|
||||
MISC_STR_3F, // "2x Laser",
|
||||
MISC_STR_40, // "Turbo Mode",
|
||||
MISC_STR_41, // "Fast Animation",
|
||||
MISC_STR_42, // "Slow Animation",
|
||||
MISC_STR_43 // "No Radar [Multi]"
|
||||
MISC_STR_00_INVINCIBLE, // "Invincible",
|
||||
MISC_STR_01_ALLGUNS, // "All Guns",
|
||||
MISC_STR_02_SUPER2XHEALTH, // "Super x2 Health",
|
||||
MISC_STR_03_SUPER2XARMOUR, // "Super x2 Armor",
|
||||
MISC_STR_04_BONDINVISIBLE, // "Bond Invisible",
|
||||
MISC_STR_05_BONDPHASE, // "Bond Phase",
|
||||
MISC_STR_06_INFINITAMMO, // "Infinite Ammo",
|
||||
MISC_STR_07_DKMODE, // "DK Mode",
|
||||
MISC_STR_08_TINYBOND, // "Tiny Bond",
|
||||
MISC_STR_09_SUPER10XHEALTH, // "Super x10 Health",
|
||||
MISC_STR_0A_MAGNUM, // "Magnum",
|
||||
MISC_STR_0B_LASER, // "Laser",
|
||||
MISC_STR_0C_GOLDENGUN, // "Golden Gun",
|
||||
MISC_STR_0D_SILVERPPK, // "Silver PP7",
|
||||
MISC_STR_0E_GOLDPPK, // "Gold PP7",
|
||||
MISC_STR_0F_INVINCIBILITYON_LF, // "invincibility on\n",
|
||||
MISC_STR_10_ALLGUNSON_LF, // "all guns on\n",
|
||||
MISC_STR_11_MAXIMUMAMMO_LF, // "maximum ammo\n",
|
||||
MISC_STR_12_SUPER2XHEALTH_LF, // "super x2 health\n",
|
||||
MISC_STR_13_SUPER2XARMOUR_LF, // "super x2 armor\n",
|
||||
MISC_STR_14_INVISIBILITYON_LF, // "invisibility on\n",
|
||||
MISC_STR_15_BONDPHASEON_LF, // "bond phase on\n",
|
||||
MISC_STR_16_INFINITEAMMOON_LF, // "infinite ammo on\n",
|
||||
MISC_STR_17_DKMODEON_LF, // "dk mode on\n",
|
||||
MISC_STR_18_EXTRAWEAPONS_LF, // "extra weapons\n",
|
||||
MISC_STR_19_TINYBONDON_LF, // "tiny bond on\n",
|
||||
MISC_STR_1A_PAINTBALMODEON_LF, // "paintball mode on\n",
|
||||
MISC_STR_1B_SUPER10XHEALTH_LF, // "super x10 health\n",
|
||||
MISC_STR_1C_HAPPYNOWKARL_LF, // "happy now karl?\n",
|
||||
MISC_STR_1D_FASTMODEON_LF, // "fast mode on\n",
|
||||
MISC_STR_1E_INVINCIBILITYOFF_LF, // "invincibility off\n",
|
||||
MISC_STR_1F_ALLGUNSOFF_LF, // "all guns off\n",
|
||||
MISC_STR_20_INVISIBILITYOFF_LF, // "invisibility off\n",
|
||||
MISC_STR_21_BONDPHASEOFF_LF, // "bond phase off\n",
|
||||
MISC_STR_22_INFINITEAMMOOFF_LF, // "infinite ammo off\n",
|
||||
MISC_STR_23_DKMODEOFF_LF, // "dk mode off\n",
|
||||
MISC_STR_24_TINYBONDOFF_LF, // "tiny bond off\n",
|
||||
MISC_STR_25_PAINTBALLMODEOFF_LF, // "paintball mode off\n",
|
||||
MISC_STR_26_RADARON_LF, // "radar on\n",
|
||||
MISC_STR_27_FASTMODEOFF_LF, // "fast mode off\n",
|
||||
MISC_STR_28_NONAME, // "NO NAME",
|
||||
MISC_STR_29_ERROR_LF, // "E R R O R\n",
|
||||
MISC_STR_2A_NOBRIEFING_LF, // "no briefing for this mission\n",
|
||||
MISC_STR_2B_LF, // "\n",
|
||||
MISC_STR_2C_OBJECTIVE, // "objective",
|
||||
MISC_STR_2D_COMPLETED_LF, // "completed\n",
|
||||
MISC_STR_2E_INCOMPLETE_LF, // "incomplete\n",
|
||||
MISC_STR_2F_FAILED_LF, // "failed\n",
|
||||
MISC_STR_30_SLOWESTMOTION_LF, // "slowest motion\n",
|
||||
MISC_STR_31_VERYSLOWMOTION_LF, // "very slow motion\n",
|
||||
MISC_STR_32_SLOWMOTION_LF, // "slow motion\n",
|
||||
MISC_STR_33_NORMALMOTION_LF, // "normal motion\n",
|
||||
MISC_STR_34_FASTMOTION_LF, // "fast motion\n",
|
||||
MISC_STR_35_VERYFASTMOTION_LF, // "very fast motion\n",
|
||||
MISC_STR_36_FASTESTMOTION_LF, // "fastest motion\n",
|
||||
MISC_STR_37_LINEMODE, // "Line Mode",
|
||||
MISC_STR_38_PAINTBALLMODE, // "Paintball Mode",
|
||||
MISC_STR_39_ENEMYROCKETS, // "Enemy Rockets",
|
||||
MISC_STR_3A_2XROCKETLAUNCHER, // "2x Rocket L.",
|
||||
MISC_STR_3B_2XGRENADELAUNCHER, // "2x Grenade L.",
|
||||
MISC_STR_3C_2XFNP90, // "2x RC-P90",
|
||||
MISC_STR_3D_2XTHROWINGKNIFE, // "2x Throwing Knife",
|
||||
MISC_STR_3E_2XHUNTINGKNIFE, // "2x Hunting Knife",
|
||||
MISC_STR_3F_2XLASER, // "2x Laser",
|
||||
MISC_STR_40_TURBOMODE, // "Turbo Mode",
|
||||
MISC_STR_41_FASTANIMATION, // "Fast Animation",
|
||||
MISC_STR_42_SLOWANIMATION, // "Slow Animation",
|
||||
MISC_STR_43_NORADAR // "No Radar [Multi]"
|
||||
|
||||
#ifdef VERSION_JP
|
||||
,MISC_STR_44//,"One minute left"
|
||||
,
|
||||
MISC_STR_44 //,"One minute left"
|
||||
#endif
|
||||
};
|
||||
@@ -1,39 +1,39 @@
|
||||
enum LMPMENUE_STRINGS
|
||||
{
|
||||
MPMENU_STR_00, // "Lemming Award",
|
||||
MPMENU_STR_01, // "Where's the Ammo?",
|
||||
MPMENU_STR_02, // "Where's the Armor?",
|
||||
MPMENU_STR_03, // "AC -10 Award",
|
||||
MPMENU_STR_04, // "Marksmanship Award",
|
||||
MPMENU_STR_05, // "Most Professional",
|
||||
MPMENU_STR_06, // "Most Deadly",
|
||||
MPMENU_STR_07, // "Mostly Harmless",
|
||||
MPMENU_STR_08, // "Most Cowardly",
|
||||
MPMENU_STR_09, // "Most Frantic",
|
||||
MPMENU_STR_0A, // "Most Honorable",
|
||||
MPMENU_STR_0B, // "Most Dishonorable",
|
||||
MPMENU_STR_0C, // "Shortest Innings",
|
||||
MPMENU_STR_0D, // "Longest Innings",
|
||||
MPMENU_STR_0E, // "Double Kill",
|
||||
MPMENU_STR_0F, // "Triple Kill",
|
||||
MPMENU_STR_10, // "Quad Kill (Doh!)",
|
||||
MPMENU_STR_11, // "Rank: 1st",
|
||||
MPMENU_STR_12, // "Rank: 2nd",
|
||||
MPMENU_STR_13, // "Rank: 3rd",
|
||||
MPMENU_STR_14, // "Rank: 4th",
|
||||
MPMENU_STR_15, // "PLAY",
|
||||
MPMENU_STR_16, // "GAME OVER",
|
||||
MPMENU_STR_17, // "START TO EXIT",
|
||||
MPMENU_STR_18, // "PAUSED",
|
||||
MPMENU_STR_19, // "PAUSE",
|
||||
MPMENU_STR_1A, // "EXIT",
|
||||
MPMENU_STR_1B, // "SCORES",
|
||||
MPMENU_STR_1C, // "P",
|
||||
MPMENU_STR_1D, // "KILLS",
|
||||
MPMENU_STR_1E, // "LOSSES",
|
||||
MPMENU_STR_1F, // "Weapon of choice:",
|
||||
MPMENU_STR_20, // "cancel",
|
||||
MPMENU_STR_21, // "confirm",
|
||||
MPMENU_STR_22, // "press start\n",
|
||||
MPMENU_STR_23, // "to continue\n"
|
||||
MPMENU_STR_00_LEMMINGAWARD, // "Lemming Award",
|
||||
MPMENU_STR_01_WHERESTHEAMMO, // "Where's the Ammo?",
|
||||
MPMENU_STR_02_WHERESTHEARMOR, // "Where's the Armor?",
|
||||
MPMENU_STR_03_AC10AWARD, // "AC -10 Award",
|
||||
MPMENU_STR_04_MARKSMANSHIPAWARD, // "Marksmanship Award",
|
||||
MPMENU_STR_05_MOSTPROFESSIONAL, // "Most Professional",
|
||||
MPMENU_STR_06_MOSTDEADLY, // "Most Deadly",
|
||||
MPMENU_STR_07_MOSTLYHARMLESS, // "Mostly Harmless",
|
||||
MPMENU_STR_08_MOSTCOWARD, // "Most Cowardly",
|
||||
MPMENU_STR_09_MOSTFRANTIC, // "Most Frantic",
|
||||
MPMENU_STR_0A_MOSTHONORABLE, // "Most Honorable",
|
||||
MPMENU_STR_0B_MOSTDISHONORABLE, // "Most Dishonorable",
|
||||
MPMENU_STR_0C_SHORTESTINNINGS, // "Shortest Innings",
|
||||
MPMENU_STR_0D_LONGESTINNINGS, // "Longest Innings",
|
||||
MPMENU_STR_0E_DOUBLEKILL, // "Double Kill",
|
||||
MPMENU_STR_0F_TRIPLEKILL, // "Triple Kill",
|
||||
MPMENU_STR_10_QUADKILL, // "Quad Kill (Doh!)",
|
||||
MPMENU_STR_11_RANK1ST, // "Rank: 1st",
|
||||
MPMENU_STR_12_RANK2ND, // "Rank: 2nd",
|
||||
MPMENU_STR_13_RANK3RD, // "Rank: 3rd",
|
||||
MPMENU_STR_14_RANK4TH, // "Rank: 4th",
|
||||
MPMENU_STR_15_PLAY, // "PLAY",
|
||||
MPMENU_STR_16_GAMEOVER, // "GAME OVER",
|
||||
MPMENU_STR_17_STARTTTOEXIT, // "START TO EXIT",
|
||||
MPMENU_STR_18_PAUSED, // "PAUSED",
|
||||
MPMENU_STR_19_PAUSE, // "PAUSE",
|
||||
MPMENU_STR_1A_EXIT, // "EXIT",
|
||||
MPMENU_STR_1B_SCORES, // "SCORES",
|
||||
MPMENU_STR_1C_P, // "P",
|
||||
MPMENU_STR_1D_KILLS, // "KILLS",
|
||||
MPMENU_STR_1E_LOSSES, // "LOSSES",
|
||||
MPMENU_STR_1F_WEAPONOFCHOICE, // "Weapon of choice:",
|
||||
MPMENU_STR_20_CANCEL, // "cancel",
|
||||
MPMENU_STR_21_CONFIRM, // "confirm",
|
||||
MPMENU_STR_22_PRESSSTART_LF, // "press start\n",
|
||||
MPMENU_STR_23_TOCONTINUE_LF // "to continue\n"
|
||||
};
|
||||
@@ -1,19 +1,19 @@
|
||||
enum LMPWEAPONSE_STRINGS
|
||||
{
|
||||
MPWEAPON_STR_00, // "Slappers only!",
|
||||
MPWEAPON_STR_01, // "Pistols",
|
||||
MPWEAPON_STR_02, // "Automatics",
|
||||
MPWEAPON_STR_03, // "Power Weapons",
|
||||
MPWEAPON_STR_04, // "Sniper Rifles",
|
||||
MPWEAPON_STR_05, // "Grenades",
|
||||
MPWEAPON_STR_06, // "Remote Mines",
|
||||
MPWEAPON_STR_07, // "Grenade Launchers",
|
||||
MPWEAPON_STR_08, // "Timed Mines",
|
||||
MPWEAPON_STR_09, // "Proximity Mines",
|
||||
MPWEAPON_STR_0A, // "Rockets",
|
||||
MPWEAPON_STR_0B, // "Lasers",
|
||||
MPWEAPON_STR_0C, // "Golden Gun",
|
||||
MPWEAPON_STR_0D, // "Throwing Knives",
|
||||
MPWEAPON_STR_00_SLAPPERSONLY, // "Slappers only!",
|
||||
MPWEAPON_STR_01_PISTOLS, // "Pistols",
|
||||
MPWEAPON_STR_02_AUTOMATICS, // "Automatics",
|
||||
MPWEAPON_STR_03_POWERWEAPONS, // "Power Weapons",
|
||||
MPWEAPON_STR_04_SNIPERRIFLES, // "Sniper Rifles",
|
||||
MPWEAPON_STR_05_GRENADES, // "Grenades",
|
||||
MPWEAPON_STR_06_REMOTEMINES, // "Remote Mines",
|
||||
MPWEAPON_STR_07_GRENADELAUNCHERS, // "Grenade Launchers",
|
||||
MPWEAPON_STR_08_TIMEDMINES, // "Timed Mines",
|
||||
MPWEAPON_STR_09_PROXIMITYMINES, // "Proximity Mines",
|
||||
MPWEAPON_STR_0A_ROCKETS, // "Rockets",
|
||||
MPWEAPON_STR_0B_LASERS, // "Lasers",
|
||||
MPWEAPON_STR_0C_GOLDENGUN, // "Golden Gun",
|
||||
MPWEAPON_STR_0D_THROWINGKNIVES, // "Throwing Knives",
|
||||
MPWEAPON_STR_0E, // 0,
|
||||
MPWEAPON_STR_0F // 0
|
||||
};
|
||||
@@ -1,67 +1,67 @@
|
||||
enum LOPTIONE_STRINGS
|
||||
{
|
||||
OPTION_STR_00, //"fire\n",
|
||||
OPTION_STR_01, //"aim\n",
|
||||
OPTION_STR_02, //"action\n",
|
||||
OPTION_STR_03, //"weapon\n",
|
||||
OPTION_STR_04, //"pause\n",
|
||||
OPTION_STR_05, //"move\n",
|
||||
OPTION_STR_06, //"look\n",
|
||||
OPTION_STR_07, //"?\n",
|
||||
OPTION_STR_08, //"move sight\n",
|
||||
OPTION_STR_09, //"1.1 honey\n",
|
||||
OPTION_STR_0A, //"1.2 solitaire\n",
|
||||
OPTION_STR_0B, //"1.3 kissy\n",
|
||||
OPTION_STR_0C, //"1.4 goodnight\n",
|
||||
OPTION_STR_0D, //"2.1 plenty\n",
|
||||
OPTION_STR_0E, //"2.2 galore\n",
|
||||
OPTION_STR_0F, //"2.3 domino\n",
|
||||
OPTION_STR_10, //"2.4 goodhead\n",
|
||||
OPTION_STR_11, //"look up/down\n",
|
||||
OPTION_STR_12, //"auto-aim\n",
|
||||
OPTION_STR_13, //"look ahead\n",
|
||||
OPTION_STR_14, //"aim control\n",
|
||||
OPTION_STR_15, //"sight on-screen\n",
|
||||
OPTION_STR_16, //"ammo on-screen\n",
|
||||
OPTION_STR_17, //"screen\n",
|
||||
OPTION_STR_18, //"ratio\n",
|
||||
OPTION_STR_19, //"on\n",
|
||||
OPTION_STR_1A, //"off\n",
|
||||
OPTION_STR_1B, //"upright\n",
|
||||
OPTION_STR_1C, //"reverse\n",
|
||||
OPTION_STR_1D, //"toggle\n",
|
||||
OPTION_STR_1E, //"hold\n",
|
||||
OPTION_STR_1F, //"full\n",
|
||||
OPTION_STR_20, //"wide\n",
|
||||
OPTION_STR_21, //"cinema\n",
|
||||
OPTION_STR_22, //"normal\n",
|
||||
OPTION_STR_23, //"16:9\n",
|
||||
OPTION_STR_24, //"abort:\n",
|
||||
OPTION_STR_25, //"confirm\n",
|
||||
OPTION_STR_26, //"cancel\n",
|
||||
OPTION_STR_27, //"mission status:\n",
|
||||
OPTION_STR_28, //"complete\n",
|
||||
OPTION_STR_29, //"incomplete\n",
|
||||
OPTION_STR_2A, //"Left Hand\n",
|
||||
OPTION_STR_2B, //"q watch v2.01 beta\n",
|
||||
OPTION_STR_2C, //"down\n",
|
||||
OPTION_STR_2D, //"up\n",
|
||||
OPTION_STR_2E, //"sidestep\n",
|
||||
OPTION_STR_2F, //"sidestep\n",
|
||||
OPTION_STR_30, //"forward\n",
|
||||
OPTION_STR_31, //"back\n",
|
||||
OPTION_STR_32, //"control style\n",
|
||||
OPTION_STR_33, //"controller\n",
|
||||
OPTION_STR_34, //"controllers\n",
|
||||
OPTION_STR_35, //"music\n",
|
||||
OPTION_STR_36, //"fx\n",
|
||||
OPTION_STR_37, //"failed\n",
|
||||
OPTION_STR_38, //"2. background\n",
|
||||
OPTION_STR_39, //"3. M briefing\n",
|
||||
OPTION_STR_3A, //"4. Q branch\n",
|
||||
OPTION_STR_3B, //"5. moneypenny\n",
|
||||
OPTION_STR_3C, //"1. mission objectives\n",
|
||||
OPTION_STR_3D, //0,
|
||||
OPTION_STR_3E, //0,
|
||||
OPTION_STR_3F //0
|
||||
OPTION_STR_00_FIRE_LF, //"fire\n",
|
||||
OPTION_STR_01_AIM_LF, //"aim\n",
|
||||
OPTION_STR_02_ACTION_LF, //"action\n",
|
||||
OPTION_STR_03_WEAPON_LF, //"weapon\n",
|
||||
OPTION_STR_04_PAUSE_LF, //"pause\n",
|
||||
OPTION_STR_05_MOVE_LF, //"move\n",
|
||||
OPTION_STR_06_LOOK_LF, //"look\n",
|
||||
OPTION_STR_07_QUESTION_LF, //"?\n",
|
||||
OPTION_STR_08_MOVESIGHT_LF, //"move sight\n",
|
||||
OPTION_STR_09_11HONEY_LF, //"1.1 honey\n",
|
||||
OPTION_STR_0A_12SOLITAIRE_LF, //"1.2 solitaire\n",
|
||||
OPTION_STR_0B_13KISSY_LF, //"1.3 kissy\n",
|
||||
OPTION_STR_0C_14GOODNIGHT_LF, //"1.4 goodnight\n",
|
||||
OPTION_STR_0D_21PLENTY_LF, //"2.1 plenty\n",
|
||||
OPTION_STR_0E_22GALORE_LF, //"2.2 galore\n",
|
||||
OPTION_STR_0F_23DOMINO_LF, //"2.3 domino\n",
|
||||
OPTION_STR_10_24GOODHEAD_LF, //"2.4 goodhead\n",
|
||||
OPTION_STR_11_LOOKUPDOWN_LF, //"look up/down\n",
|
||||
OPTION_STR_12_AUTOAIM_LF, //"auto-aim\n",
|
||||
OPTION_STR_13_LOOKAHEAD_LF, //"look ahead\n",
|
||||
OPTION_STR_14_AIMCONTROL_LF, //"aim control\n",
|
||||
OPTION_STR_15_SIGHTONSCREEN_LF, //"sight on-screen\n",
|
||||
OPTION_STR_16_AMMOONSCREEN_LF, //"ammo on-screen\n",
|
||||
OPTION_STR_17_SCREEN_LF, //"screen\n",
|
||||
OPTION_STR_18_RATIO_LF, //"ratio\n",
|
||||
OPTION_STR_19_ON_LF, //"on\n",
|
||||
OPTION_STR_1A_OFF_LF, //"off\n",
|
||||
OPTION_STR_1B_UPRIGHT_LF, //"upright\n",
|
||||
OPTION_STR_1C_REVERSE_LF, //"reverse\n",
|
||||
OPTION_STR_1D_TOGGLE_LF, //"toggle\n",
|
||||
OPTION_STR_1E_HOLD_LF, //"hold\n",
|
||||
OPTION_STR_1F_FULL_LF, //"full\n",
|
||||
OPTION_STR_20_WIDE_LF, //"wide\n",
|
||||
OPTION_STR_21_CINEMA_LF, //"cinema\n",
|
||||
OPTION_STR_22_NORMAL_LF, //"normal\n",
|
||||
OPTION_STR_23_169_LF, //"16:9\n",
|
||||
OPTION_STR_24_ABORT_LF, //"abort:\n",
|
||||
OPTION_STR_25_CONFIRM_LF, //"confirm\n",
|
||||
OPTION_STR_26_CANCEL_LF, //"cancel\n",
|
||||
OPTION_STR_27_MISSIONSTATUS_LF, //"mission status:\n",
|
||||
OPTION_STR_28_COMPLETE_LF, //"complete\n",
|
||||
OPTION_STR_29_INCOMPLETE_LF, //"incomplete\n",
|
||||
OPTION_STR_2A_LEFTHAND_LF, //"Left Hand\n",
|
||||
OPTION_STR_2B_QWATCHVERSION_LF, //"q watch v2.01 beta\n",
|
||||
OPTION_STR_2C_DOWN_LF, //"down\n",
|
||||
OPTION_STR_2D_UP_LF, //"up\n",
|
||||
OPTION_STR_2E_SIDESTEP_LF, //"sidestep\n",
|
||||
OPTION_STR_2F_SIDESTEP_LF, //"sidestep\n",
|
||||
OPTION_STR_30_FORWARD_LF, //"forward\n",
|
||||
OPTION_STR_31_BACK_LF, //"back\n",
|
||||
OPTION_STR_32_CONTROLSTYLE_LF, //"control style\n",
|
||||
OPTION_STR_33_CONTROLLER_LF, //"controller\n",
|
||||
OPTION_STR_34_CONTROLLERS_LF, //"controllers\n",
|
||||
OPTION_STR_35_MUSIC_LF, //"music\n",
|
||||
OPTION_STR_36_FX_LF, //"fx\n",
|
||||
OPTION_STR_37_FAILED_LF, //"failed\n",
|
||||
OPTION_STR_38_2BACKGROUND_LF, //"2. background\n",
|
||||
OPTION_STR_39_3MBRIEFING_LF, //"3. M briefing\n",
|
||||
OPTION_STR_3A_4QBRANCH_LF, //"4. Q branch\n",
|
||||
OPTION_STR_3B_5MONEYPENNY_LF, //"5. moneypenny\n",
|
||||
OPTION_STR_3C_1MISSIONOBJECTIVES_LF, //"1. mission objectives\n",
|
||||
OPTION_STR_3D, // 0,
|
||||
OPTION_STR_3E, // 0,
|
||||
OPTION_STR_3F // 0
|
||||
};
|
||||
@@ -1,70 +1,70 @@
|
||||
enum LPROPOBJE_STRINGS
|
||||
{
|
||||
PROPOBJ_STR_00, // "Picked up ",
|
||||
PROPOBJ_STR_01, // "some ",
|
||||
PROPOBJ_STR_02, // "a ",
|
||||
PROPOBJ_STR_03, // "an ",
|
||||
PROPOBJ_STR_04, // "the ",
|
||||
PROPOBJ_STR_05, // "ammo",
|
||||
PROPOBJ_STR_06, // "shotgun cartridge",
|
||||
PROPOBJ_STR_07, // "magnum bullet",
|
||||
PROPOBJ_STR_08, // "golden bullet",
|
||||
PROPOBJ_STR_09, // "hand grenade",
|
||||
PROPOBJ_STR_0A, // "grenade round",
|
||||
PROPOBJ_STR_0B, // "rocket",
|
||||
PROPOBJ_STR_0C, // "remote mine",
|
||||
PROPOBJ_STR_0D, // "proximity mine",
|
||||
PROPOBJ_STR_0E, // "timed mine",
|
||||
PROPOBJ_STR_0F, // "throwing ",
|
||||
PROPOBJ_STR_10, // "knife",
|
||||
PROPOBJ_STR_11, // "knives",
|
||||
PROPOBJ_STR_12, // "s",
|
||||
PROPOBJ_STR_13, // "dart",
|
||||
PROPOBJ_STR_14, // "explosive pen",
|
||||
PROPOBJ_STR_15, // "explosive case",
|
||||
PROPOBJ_STR_16, // "flare",
|
||||
PROPOBJ_STR_17, // "piton",
|
||||
PROPOBJ_STR_18, // "of dynamite",
|
||||
PROPOBJ_STR_19, // "stick ",
|
||||
PROPOBJ_STR_1A, // "sticks ",
|
||||
PROPOBJ_STR_1B, // "bug",
|
||||
PROPOBJ_STR_1C, // "micro camera",
|
||||
PROPOBJ_STR_1D, // "GoldenEye key",
|
||||
PROPOBJ_STR_1E, // "token",
|
||||
PROPOBJ_STR_1F, // "plastique",
|
||||
PROPOBJ_STR_20, // "a hunting knife.\n",
|
||||
PROPOBJ_STR_21, // "a PP7.\n",
|
||||
PROPOBJ_STR_22, // "a silenced PP7.\n",
|
||||
PROPOBJ_STR_23, // "a DD44 Dostovei.\n",
|
||||
PROPOBJ_STR_24, // "a Klobb.\n",
|
||||
PROPOBJ_STR_25, // "a KF7 Soviet.\n",
|
||||
PROPOBJ_STR_26, // "a ZMG (9mm).\n",
|
||||
PROPOBJ_STR_27, // "a D5K Deutsche.\n",
|
||||
PROPOBJ_STR_28, // "a silenced D5K.\n",
|
||||
PROPOBJ_STR_29, // "a Phantom.\n",
|
||||
PROPOBJ_STR_2A, // "an AR33 assault rifle.\n",
|
||||
PROPOBJ_STR_2B, // "an RC-P90.\n",
|
||||
PROPOBJ_STR_2C, // "a shotgun.\n",
|
||||
PROPOBJ_STR_2D, // "an automatic shotgun.\n",
|
||||
PROPOBJ_STR_2E, // "a sniper rifle.\n",
|
||||
PROPOBJ_STR_2F, // "a grenade launcher.\n",
|
||||
PROPOBJ_STR_30, // "a rocket launcher.\n",
|
||||
PROPOBJ_STR_31, // "a Cougar Magnum.\n",
|
||||
PROPOBJ_STR_32, // "the Golden Gun.\n",
|
||||
PROPOBJ_STR_33, // "a Moonraker laser.\n",
|
||||
PROPOBJ_STR_34, // "a flare pistol.\n",
|
||||
PROPOBJ_STR_35, // "a piton gun.\n",
|
||||
PROPOBJ_STR_36, // "a silver PP7.\n",
|
||||
PROPOBJ_STR_37, // "a gold PP7.\n",
|
||||
PROPOBJ_STR_38, // "a keycard.\n",
|
||||
PROPOBJ_STR_39, // "a yale key.\n",
|
||||
PROPOBJ_STR_3A, // "a bolt key.\n",
|
||||
PROPOBJ_STR_3B, // "a new weapon.\n",
|
||||
PROPOBJ_STR_3C, // "Picked up a key.\n",
|
||||
PROPOBJ_STR_3D, // "Picked up some body armor.\n",
|
||||
PROPOBJ_STR_3E, // "body armor.\n",
|
||||
PROPOBJ_STR_3F, // "Picked up something.\n",
|
||||
PROPOBJ_STR_40, // "This door is locked.\n",
|
||||
PROPOBJ_STR_00_PICKEDUP, // "Picked up ",
|
||||
PROPOBJ_STR_01_SOME, // "some ",
|
||||
PROPOBJ_STR_02_A, // "a ",
|
||||
PROPOBJ_STR_03_AN, // "an ",
|
||||
PROPOBJ_STR_04_THE, // "the ",
|
||||
PROPOBJ_STR_05_AMMO, // "ammo",
|
||||
PROPOBJ_STR_06_SHOTGUNCARTRIDGE, // "shotgun cartridge",
|
||||
PROPOBJ_STR_07_MAGNUMBULLET, // "magnum bullet",
|
||||
PROPOBJ_STR_08_GOLDENBULLET, // "golden bullet",
|
||||
PROPOBJ_STR_09_HANDGRENADE, // "hand grenade",
|
||||
PROPOBJ_STR_0A_GRENADEROUND, // "grenade round",
|
||||
PROPOBJ_STR_0B_ROCKET, // "rocket",
|
||||
PROPOBJ_STR_0C_REMOTEMINE, // "remote mine",
|
||||
PROPOBJ_STR_0D_PROXIMITYMINE, // "proximity mine",
|
||||
PROPOBJ_STR_0E_TIMEDMINE, // "timed mine",
|
||||
PROPOBJ_STR_0F_THROWING, // "throwing ",
|
||||
PROPOBJ_STR_10_KNIFE, // "knife",
|
||||
PROPOBJ_STR_11_KNIVES, // "knives",
|
||||
PROPOBJ_STR_12_S, // "s",
|
||||
PROPOBJ_STR_13_DART, // "dart",
|
||||
PROPOBJ_STR_14_EXPLOSIVEPEN, // "explosive pen",
|
||||
PROPOBJ_STR_15_EXPLOSIVECASE, // "explosive case",
|
||||
PROPOBJ_STR_16_FLARE, // "flare",
|
||||
PROPOBJ_STR_17_PITON, // "piton",
|
||||
PROPOBJ_STR_18_OFDYNAMITE, // "of dynamite",
|
||||
PROPOBJ_STR_19_STICK, // "stick ",
|
||||
PROPOBJ_STR_1A_STICKS, // "sticks ",
|
||||
PROPOBJ_STR_1B_BUG, // "bug",
|
||||
PROPOBJ_STR_1C_MICROCAMERA, // "micro camera",
|
||||
PROPOBJ_STR_1D_GOLDENEYEKEY, // "GoldenEye key",
|
||||
PROPOBJ_STR_1E_TOKEN, // "token",
|
||||
PROPOBJ_STR_1F_PLASTIQUE, // "plastique",
|
||||
PROPOBJ_STR_20_AHUNTINGKNIFE, // "a hunting knife.\n",
|
||||
PROPOBJ_STR_21_APPK, // "a PP7.\n", Using filename since renaming was probably done after localisation
|
||||
PROPOBJ_STR_22_ASILENCEDPPK, // "a silenced PP7.\n",
|
||||
PROPOBJ_STR_23_ATT33, // "a DD44 Dostovei.\n",
|
||||
PROPOBJ_STR_24_ASPKORPION, // "a Klobb.\n",
|
||||
PROPOBJ_STR_25_ANAK47, // "a KF7 Soviet.\n",
|
||||
PROPOBJ_STR_26_ANUZI, // "a ZMG (9mm).\n",
|
||||
PROPOBJ_STR_27_ANMP5K, // "a D5K Deutsche.\n",
|
||||
PROPOBJ_STR_28_ASILENCEDMP5, // "a silenced D5K.\n",
|
||||
PROPOBJ_STR_29_ASPECTRE, // "a Phantom.\n",
|
||||
PROPOBJ_STR_2A_ANM16, // "an AR33 assault rifle.\n",
|
||||
PROPOBJ_STR_2B_ANFNP90, // "an RC-P90.\n",
|
||||
PROPOBJ_STR_2C_ASHOTGUN, // "a shotgun.\n",
|
||||
PROPOBJ_STR_2D_ANAUTOSHOTGUN, // "an automatic shotgun.\n",
|
||||
PROPOBJ_STR_2E_ASNIPERRIFLE, // "a sniper rifle.\n",
|
||||
PROPOBJ_STR_2F_AGRENADELAUNCHER, // "a grenade launcher.\n",
|
||||
PROPOBJ_STR_30_AROCKETLAUNCHER, // "a rocket launcher.\n",
|
||||
PROPOBJ_STR_31_ARUGERMAGNUM, // "a Cougar Magnum.\n",
|
||||
PROPOBJ_STR_32_THEGOLDENGUN, // "the Golden Gun.\n",
|
||||
PROPOBJ_STR_33_AMOOKRAKERLASER, // "a Moonraker laser.\n",
|
||||
PROPOBJ_STR_34_AFLAREPISTOL, // "a flare pistol.\n",
|
||||
PROPOBJ_STR_35_APITONGUN, // "a piton gun.\n",
|
||||
PROPOBJ_STR_36_ASILVERPPK, // "a silver PP7.\n",
|
||||
PROPOBJ_STR_37_AGOLDPPK, // "a gold PP7.\n",
|
||||
PROPOBJ_STR_38_AKEYCARD, // "a keycard.\n",
|
||||
PROPOBJ_STR_39_AYALEKEY, // "a yale key.\n",
|
||||
PROPOBJ_STR_3A_ABOLTKEY, // "a bolt key.\n",
|
||||
PROPOBJ_STR_3B_ANEWWEAPON, // "a new weapon.\n",
|
||||
PROPOBJ_STR_3C_PICKEDUPAKEY, // "Picked up a key.\n",
|
||||
PROPOBJ_STR_3D_PICKEDUPSOMEBODEYARMOUR, // "Picked up some body armor.\n",
|
||||
PROPOBJ_STR_3E_BODYARMOUR, // "body armor.\n",
|
||||
PROPOBJ_STR_3F_PICKEDUPSOMETHING, // "Picked up something.\n",
|
||||
PROPOBJ_STR_40_THISDOORISLOCKED, // "This door is locked.\n",
|
||||
PROPOBJ_STR_41, // 0,
|
||||
PROPOBJ_STR_42, // 0,
|
||||
PROPOBJ_STR_43 // 0
|
||||
|
||||
@@ -287,12 +287,12 @@ char *LtitleE[] = {
|
||||
"Select Control Style\n", //TITLE_STR_285
|
||||
"Control Style\n", //TITLE_STR_286
|
||||
#ifdef LANG_US
|
||||
0 //TITLE_STR_287
|
||||
0 //TITLE_STR_287_RUSSIANSOLDIER
|
||||
#endif
|
||||
#ifdef LANG_JP
|
||||
"Russian Soldier\n", //TITLE_STR_287
|
||||
"Russian Infantry\n", //TITLE_STR_288
|
||||
"Scientist\n", //TITLE_STR_289
|
||||
"Russian Soldier\n", //TITLE_STR_287_RUSSIANSOLDIER
|
||||
"Russian Infantry\n", //TITLE_STR_288_RUSSIANINFANTRY
|
||||
"Scientist\n", //TITLE_STR_289_SCIENTIST
|
||||
"Russian Commandant\n", //TITLE_STR_290
|
||||
"Janus Marine\n", //TITLE_STR_291
|
||||
"Naval Officer\n", //TITLE_STR_292
|
||||
|
||||
+290
-290
@@ -1,299 +1,299 @@
|
||||
typedef enum LTITLE_STRINGS
|
||||
{
|
||||
TITLE_STR_00,
|
||||
TITLE_STR_01,
|
||||
TITLE_STR_02,
|
||||
TITLE_STR_03,
|
||||
TITLE_STR_04,
|
||||
TITLE_STR_05,
|
||||
TITLE_STR_06,
|
||||
TITLE_STR_07,
|
||||
TITLE_STR_08,
|
||||
TITLE_STR_09,
|
||||
TITLE_STR_10,
|
||||
TITLE_STR_11,
|
||||
TITLE_STR_12,
|
||||
TITLE_STR_13,
|
||||
TITLE_STR_14,
|
||||
TITLE_STR_15,
|
||||
TITLE_STR_16,
|
||||
TITLE_STR_17,
|
||||
TITLE_STR_18,
|
||||
TITLE_STR_19,
|
||||
TITLE_STR_20,
|
||||
TITLE_STR_21,
|
||||
TITLE_STR_22,
|
||||
TITLE_STR_23,
|
||||
TITLE_STR_24,
|
||||
TITLE_STR_25,
|
||||
TITLE_STR_26,
|
||||
TITLE_STR_27,
|
||||
TITLE_STR_28,
|
||||
TITLE_STR_29,
|
||||
TITLE_STR_30,
|
||||
TITLE_STR_31,
|
||||
TITLE_STR_32,
|
||||
TITLE_STR_33,
|
||||
TITLE_STR_34,
|
||||
TITLE_STR_35,
|
||||
TITLE_STR_36,
|
||||
TITLE_STR_37,
|
||||
TITLE_STR_38,
|
||||
TITLE_STR_39,
|
||||
TITLE_STR_40,
|
||||
TITLE_STR_41,
|
||||
TITLE_STR_42,
|
||||
TITLE_STR_43,
|
||||
TITLE_STR_44,
|
||||
TITLE_STR_45,
|
||||
TITLE_STR_46,
|
||||
TITLE_STR_47,
|
||||
TITLE_STR_48,
|
||||
TITLE_STR_49,
|
||||
TITLE_STR_50,
|
||||
TITLE_STR_51,
|
||||
TITLE_STR_52,
|
||||
TITLE_STR_53,
|
||||
TITLE_STR_54,
|
||||
TITLE_STR_55,
|
||||
TITLE_STR_56,
|
||||
TITLE_STR_57,
|
||||
TITLE_STR_58,
|
||||
TITLE_STR_59,
|
||||
TITLE_STR_60,
|
||||
TITLE_STR_61,
|
||||
TITLE_STR_62,
|
||||
TITLE_STR_63,
|
||||
TITLE_STR_64,
|
||||
TITLE_STR_65,
|
||||
TITLE_STR_66,
|
||||
TITLE_STR_67,
|
||||
TITLE_STR_68,
|
||||
TITLE_STR_69,
|
||||
TITLE_STR_70,
|
||||
TITLE_STR_71,
|
||||
TITLE_STR_72,
|
||||
TITLE_STR_73,
|
||||
TITLE_STR_74,
|
||||
TITLE_STR_75,
|
||||
TITLE_STR_76,
|
||||
TITLE_STR_77,
|
||||
TITLE_STR_78,
|
||||
TITLE_STR_79,
|
||||
TITLE_STR_80,
|
||||
TITLE_STR_81,
|
||||
TITLE_STR_82,
|
||||
TITLE_STR_83,
|
||||
TITLE_STR_84,
|
||||
TITLE_STR_85,
|
||||
TITLE_STR_86,
|
||||
TITLE_STR_87,
|
||||
TITLE_STR_88,
|
||||
TITLE_STR_89,
|
||||
TITLE_STR_90,
|
||||
TITLE_STR_91,
|
||||
TITLE_STR_92,
|
||||
TITLE_STR_93,
|
||||
TITLE_STR_94,
|
||||
TITLE_STR_95,
|
||||
TITLE_STR_96,
|
||||
TITLE_STR_97,
|
||||
TITLE_STR_98,
|
||||
TITLE_STR_99,
|
||||
TITLE_STR_100,
|
||||
TITLE_STR_101,
|
||||
TITLE_STR_102,
|
||||
TITLE_STR_103,
|
||||
TITLE_STR_104,
|
||||
TITLE_STR_105,
|
||||
TITLE_STR_106,
|
||||
TITLE_STR_107,
|
||||
TITLE_STR_108,
|
||||
TITLE_STR_109,
|
||||
TITLE_STR_110,
|
||||
TITLE_STR_111,
|
||||
TITLE_STR_112,
|
||||
TITLE_STR_113,
|
||||
TITLE_STR_114,
|
||||
TITLE_STR_115,
|
||||
TITLE_STR_116,
|
||||
TITLE_STR_117,
|
||||
TITLE_STR_118,
|
||||
TITLE_STR_119,
|
||||
TITLE_STR_120,
|
||||
TITLE_STR_121,
|
||||
TITLE_STR_122,
|
||||
TITLE_STR_123,
|
||||
TITLE_STR_124,
|
||||
TITLE_STR_125,
|
||||
TITLE_STR_126,
|
||||
TITLE_STR_127,
|
||||
TITLE_STR_128,
|
||||
TITLE_STR_129,
|
||||
TITLE_STR_130,
|
||||
TITLE_STR_131,
|
||||
TITLE_STR_132,
|
||||
TITLE_STR_133,
|
||||
TITLE_STR_134,
|
||||
TITLE_STR_135,
|
||||
TITLE_STR_136,
|
||||
TITLE_STR_137,
|
||||
TITLE_STR_138,
|
||||
TITLE_STR_139,
|
||||
TITLE_STR_140,
|
||||
TITLE_STR_141,
|
||||
TITLE_STR_142,
|
||||
TITLE_STR_143,
|
||||
TITLE_STR_144,
|
||||
TITLE_STR_145,
|
||||
TITLE_STR_146,
|
||||
TITLE_STR_147,
|
||||
TITLE_STR_148,
|
||||
TITLE_STR_149,
|
||||
TITLE_STR_150,
|
||||
TITLE_STR_151,
|
||||
TITLE_STR_152,
|
||||
TITLE_STR_153,
|
||||
TITLE_STR_154,
|
||||
TITLE_STR_155,
|
||||
TITLE_STR_156,
|
||||
TITLE_STR_157,
|
||||
TITLE_STR_158,
|
||||
TITLE_STR_159,
|
||||
TITLE_STR_160,
|
||||
TITLE_STR_161,
|
||||
TITLE_STR_162,
|
||||
TITLE_STR_163,
|
||||
TITLE_STR_164,
|
||||
TITLE_STR_165,
|
||||
TITLE_STR_166,
|
||||
TITLE_STR_167,
|
||||
TITLE_STR_168,
|
||||
TITLE_STR_169,
|
||||
TITLE_STR_170,
|
||||
TITLE_STR_171,
|
||||
TITLE_STR_172,
|
||||
TITLE_STR_173,
|
||||
TITLE_STR_174,
|
||||
TITLE_STR_175,
|
||||
TITLE_STR_176,
|
||||
TITLE_STR_177,
|
||||
TITLE_STR_178,
|
||||
TITLE_STR_179,
|
||||
TITLE_STR_180,
|
||||
TITLE_STR_181,
|
||||
TITLE_STR_182,
|
||||
TITLE_STR_183,
|
||||
TITLE_STR_184,
|
||||
TITLE_STR_185,
|
||||
TITLE_STR_186,
|
||||
TITLE_STR_187,
|
||||
TITLE_STR_188,
|
||||
TITLE_STR_189,
|
||||
TITLE_STR_190,
|
||||
TITLE_STR_191,
|
||||
TITLE_STR_192,
|
||||
TITLE_STR_193,
|
||||
TITLE_STR_194,
|
||||
TITLE_STR_195,
|
||||
TITLE_STR_196,
|
||||
TITLE_STR_197,
|
||||
TITLE_STR_198,
|
||||
TITLE_STR_199,
|
||||
TITLE_STR_200,
|
||||
TITLE_STR_201,
|
||||
TITLE_STR_202,
|
||||
TITLE_STR_203,
|
||||
TITLE_STR_204,
|
||||
TITLE_STR_205,
|
||||
TITLE_STR_206,
|
||||
TITLE_STR_207,
|
||||
TITLE_STR_208,
|
||||
TITLE_STR_209,
|
||||
TITLE_STR_210,
|
||||
TITLE_STR_211,
|
||||
TITLE_STR_212,
|
||||
TITLE_STR_213,
|
||||
TITLE_STR_214,
|
||||
TITLE_STR_215,
|
||||
TITLE_STR_216,
|
||||
TITLE_STR_217,
|
||||
TITLE_STR_218,
|
||||
TITLE_STR_219,
|
||||
TITLE_STR_220,
|
||||
TITLE_STR_221,
|
||||
TITLE_STR_222,
|
||||
TITLE_STR_223,
|
||||
TITLE_STR_224,
|
||||
TITLE_STR_225,
|
||||
TITLE_STR_226,
|
||||
TITLE_STR_227,
|
||||
TITLE_STR_228,
|
||||
TITLE_STR_229,
|
||||
TITLE_STR_230,
|
||||
TITLE_STR_231,
|
||||
TITLE_STR_232,
|
||||
TITLE_STR_233,
|
||||
TITLE_STR_234,
|
||||
TITLE_STR_235,
|
||||
TITLE_STR_236,
|
||||
TITLE_STR_237,
|
||||
TITLE_STR_238,
|
||||
TITLE_STR_239,
|
||||
TITLE_STR_240,
|
||||
TITLE_STR_241,
|
||||
TITLE_STR_242,
|
||||
TITLE_STR_243,
|
||||
TITLE_STR_244,
|
||||
TITLE_STR_245,
|
||||
TITLE_STR_246,
|
||||
TITLE_STR_247,
|
||||
TITLE_STR_248,
|
||||
TITLE_STR_249,
|
||||
TITLE_STR_250,
|
||||
TITLE_STR_251,
|
||||
TITLE_STR_252,
|
||||
TITLE_STR_253,
|
||||
TITLE_STR_254,
|
||||
TITLE_STR_255,
|
||||
TITLE_STR_256,
|
||||
TITLE_STR_257,
|
||||
TITLE_STR_258,
|
||||
TITLE_STR_259,
|
||||
TITLE_STR_260,
|
||||
TITLE_STR_261,
|
||||
TITLE_STR_262,
|
||||
TITLE_STR_263,
|
||||
TITLE_STR_264,
|
||||
TITLE_STR_265,
|
||||
TITLE_STR_266,
|
||||
TITLE_STR_267,
|
||||
TITLE_STR_268,
|
||||
TITLE_STR_269,
|
||||
TITLE_STR_270,
|
||||
TITLE_STR_271,
|
||||
TITLE_STR_272,
|
||||
TITLE_STR_273,
|
||||
TITLE_STR_274,
|
||||
TITLE_STR_275,
|
||||
TITLE_STR_276,
|
||||
TITLE_STR_277,
|
||||
TITLE_STR_278,
|
||||
TITLE_STR_279,
|
||||
TITLE_STR_280,
|
||||
TITLE_STR_281,
|
||||
TITLE_STR_282,
|
||||
TITLE_STR_283,
|
||||
TITLE_STR_284,
|
||||
TITLE_STR_285,
|
||||
TITLE_STR_286,
|
||||
TITLE_STR_00_HOUR,
|
||||
TITLE_STR_01_MINUTE,
|
||||
TITLE_STR_02_SECOND,
|
||||
TITLE_STR_03_S,
|
||||
TITLE_STR_04_START,
|
||||
TITLE_STR_05_NEXT,
|
||||
TITLE_STR_06_PREVIOUS,
|
||||
TITLE_STR_07_TWY,
|
||||
TITLE_STR_08_CERT,
|
||||
TITLE_STR_09_NINRARE,
|
||||
TITLE_STR_10_DANJAQ,
|
||||
TITLE_STR_11_UAC,
|
||||
TITLE_STR_12_EON,
|
||||
TITLE_STR_13_MACB,
|
||||
TITLE_STR_14_PERSONS,
|
||||
TITLE_STR_15_PRESIDENT,
|
||||
TITLE_STR_16_VICE,
|
||||
TITLE_STR_17_NORMAN,
|
||||
TITLE_STR_18_EMI,
|
||||
TITLE_STR_19_AGENT,
|
||||
TITLE_STR_20_SECRETAGENT,
|
||||
TITLE_STR_21_00AGENT,
|
||||
TITLE_STR_22_007,
|
||||
TITLE_STR_23_ERASEFILE,
|
||||
TITLE_STR_24_CANCEL,
|
||||
TITLE_STR_25_CONFIRM,
|
||||
TITLE_STR_26_MISSION,
|
||||
TITLE_STR_27_COPY,
|
||||
TITLE_STR_28_ERASE,
|
||||
TITLE_STR_29_SELECTMISSION,
|
||||
TITLE_STR_30_MULTIPLAYER,
|
||||
TITLE_STR_31_CHEATOPTIONS,
|
||||
TITLE_STR_32_JB,
|
||||
TITLE_STR_33_MISSION2,
|
||||
TITLE_STR_34_PART,
|
||||
TITLE_STR_35_DIFFICULTY,
|
||||
TITLE_STR_36_AGENT2,
|
||||
TITLE_STR_37_SECRETAGENT2,
|
||||
TITLE_STR_38_00AGENT2,
|
||||
TITLE_STR_39_0072,
|
||||
TITLE_STR_40_SPECOPS,
|
||||
TITLE_STR_41_REACTION,
|
||||
TITLE_STR_42_HEALTH,
|
||||
TITLE_STR_43_DAMAGE,
|
||||
TITLE_STR_44_ACCURACY,
|
||||
TITLE_STR_45_UNLIMITED,
|
||||
TITLE_STR_46_5MIN,
|
||||
TITLE_STR_47_10MIN,
|
||||
TITLE_STR_48_20MIN,
|
||||
TITLE_STR_49_5PT,
|
||||
TITLE_STR_50_10PT,
|
||||
TITLE_STR_51_20PT,
|
||||
TITLE_STR_52_LASTALIVE,
|
||||
TITLE_STR_53_NORMAL,
|
||||
TITLE_STR_54_YOLT,
|
||||
TITLE_STR_55_FLAGTAG,
|
||||
TITLE_STR_56_GG,
|
||||
TITLE_STR_57_LTK,
|
||||
TITLE_STR_58_2V2,
|
||||
TITLE_STR_59_3V1,
|
||||
TITLE_STR_60_2V1,
|
||||
TITLE_STR_61_HERO,
|
||||
TITLE_STR_62_VET4,
|
||||
TITLE_STR_63_VET3,
|
||||
TITLE_STR_64_VET2,
|
||||
TITLE_STR_65_VET1,
|
||||
TITLE_STR_66_HEALTH_NORMAL,
|
||||
TITLE_STR_67_NOVICE1,
|
||||
TITLE_STR_68_NOVICE2,
|
||||
TITLE_STR_69_NOVICE3,
|
||||
TITLE_STR_70_NOVICE4,
|
||||
TITLE_STR_71_ROOKIE,
|
||||
TITLE_STR_72_SOFFAOFF,
|
||||
TITLE_STR_73_SONAOFF,
|
||||
TITLE_STR_74_SOFFAON,
|
||||
TITLE_STR_75_SONAON,
|
||||
TITLE_STR_76_MPOPTIONS,
|
||||
TITLE_STR_77_PLAYERS,
|
||||
TITLE_STR_78_SCENARIO,
|
||||
TITLE_STR_79_LEVEL,
|
||||
TITLE_STR_80_GAMELENGTH,
|
||||
TITLE_STR_81_WEAPONS,
|
||||
TITLE_STR_82_CHARACTER,
|
||||
TITLE_STR_83_HEALTH,
|
||||
TITLE_STR_84_AIM,
|
||||
TITLE_STR_85_SELECTCHARACTER,
|
||||
TITLE_STR_86_SELECTHANDICAP,
|
||||
TITLE_STR_87_SCENARIO2,
|
||||
TITLE_STR_88_SELECTTEAMS,
|
||||
TITLE_STR_89_RED,
|
||||
TITLE_STR_90_BLUE,
|
||||
TITLE_STR_91_COMPLETED,
|
||||
TITLE_STR_92_FAILED,
|
||||
TITLE_STR_93_PRIMARYOBJECTIVES,
|
||||
TITLE_STR_94_BACKGROUND,
|
||||
TITLE_STR_95_MBRIEFING,
|
||||
TITLE_STR_96_QBRANCH,
|
||||
TITLE_STR_97_MONEYPENNY,
|
||||
TITLE_STR_98_REPORT,
|
||||
TITLE_STR_99_MISSIONSTATUS,
|
||||
TITLE_STR_100_KIA,
|
||||
TITLE_STR_101_ABORTED,
|
||||
TITLE_STR_102_COMPLETED,
|
||||
TITLE_STR_103_FAILED,
|
||||
TITLE_STR_104_STATS,
|
||||
TITLE_STR_105_TIME,
|
||||
TITLE_STR_106_ACCURACY,
|
||||
TITLE_STR_107_WEAPONOFCHOICE,
|
||||
TITLE_STR_108_SHOTTOTAL,
|
||||
TITLE_STR_109_HEADHITS,
|
||||
TITLE_STR_110_BODYHITS,
|
||||
TITLE_STR_111_LIMBHITS,
|
||||
TITLE_STR_112_OTHER,
|
||||
TITLE_STR_113_KILLTOTAL,
|
||||
TITLE_STR_114_CHEATOPTIONS2,
|
||||
TITLE_STR_115_ON,
|
||||
TITLE_STR_116_OFF,
|
||||
TITLE_STR_117_CHEATSELECTMISSION,
|
||||
TITLE_STR_118_NOCONT,
|
||||
TITLE_STR_119_ATTACHCONT,
|
||||
TITLE_STR_120_ARK,
|
||||
TITLE_STR_121_DAM,
|
||||
TITLE_STR_122_FAC,
|
||||
TITLE_STR_123_RUN,
|
||||
TITLE_STR_124_SEV,
|
||||
TITLE_STR_125_SURF,
|
||||
TITLE_STR_126_BUNK,
|
||||
TITLE_STR_127_KIRG,
|
||||
TITLE_STR_128_SILO4,
|
||||
TITLE_STR_129_SILO,
|
||||
TITLE_STR_130_MONTE,
|
||||
TITLE_STR_131_FRIG,
|
||||
TITLE_STR_132_STPETER,
|
||||
TITLE_STR_133_STATPARK,
|
||||
TITLE_STR_134_STAT,
|
||||
TITLE_STR_135_MILARCH,
|
||||
TITLE_STR_136_ARCH,
|
||||
TITLE_STR_137_STREETS,
|
||||
TITLE_STR_138_DEPOT,
|
||||
TITLE_STR_139_TRAIN,
|
||||
TITLE_STR_140_CUBA,
|
||||
TITLE_STR_141_JUN,
|
||||
TITLE_STR_142_CONCENTER,
|
||||
TITLE_STR_143_CON,
|
||||
TITLE_STR_144_WATERCAV,
|
||||
TITLE_STR_145_CAV,
|
||||
TITLE_STR_146_ANTENNA,
|
||||
TITLE_STR_147_CRADLE,
|
||||
TITLE_STR_148_TEOTIHUACA,
|
||||
TITLE_STR_149_AZTECCOMPLEX,
|
||||
TITLE_STR_150_AZTEC,
|
||||
TITLE_STR_151_ELSAGHIRA,
|
||||
TITLE_STR_152_EGYPTIANTEMPLE,
|
||||
TITLE_STR_153_EGYPTIAN,
|
||||
TITLE_STR_154_RANDOM,
|
||||
TITLE_STR_155_RANDOM2,
|
||||
TITLE_STR_156_TEMPLE,
|
||||
TITLE_STR_157_TEMPLE2,
|
||||
TITLE_STR_158_COMPLEX,
|
||||
TITLE_STR_159_COMPLEX2,
|
||||
TITLE_STR_160_LIBRARY,
|
||||
TITLE_STR_161_LIBRARY2,
|
||||
TITLE_STR_162_CAVES,
|
||||
TITLE_STR_163_CAVES2,
|
||||
TITLE_STR_164_FACMP,
|
||||
TITLE_STR_165_FACMP22,
|
||||
TITLE_STR_166_SEVERNAYABUNKER,
|
||||
TITLE_STR_167_BUNKER,
|
||||
TITLE_STR_168_MILITARYARCHIVES,
|
||||
TITLE_STR_169_ARCHIVES,
|
||||
TITLE_STR_170_WATERCAVERNS,
|
||||
TITLE_STR_171_CAVERNS,
|
||||
TITLE_STR_172_EGYPTIANTEMPLEMP,
|
||||
TITLE_STR_173_EGYPTIANMP,
|
||||
TITLE_STR_174_CITADEL,
|
||||
TITLE_STR_175_CITADEL2,
|
||||
TITLE_STR_176_DEST,
|
||||
TITLE_STR_177_DEST2,
|
||||
TITLE_STR_178_STAT,
|
||||
TITLE_STR_179_STAT2,
|
||||
TITLE_STR_180_CRAD,
|
||||
TITLE_STR_181_CRADLE2,
|
||||
TITLE_STR_182_AZT,
|
||||
TITLE_STR_183_AZT2,
|
||||
TITLE_STR_184_BOND,
|
||||
TITLE_STR_185_MISHKIN,
|
||||
TITLE_STR_186_BORIS,
|
||||
TITLE_STR_187_OURUMOV,
|
||||
TITLE_STR_188_TREVELYAN,
|
||||
TITLE_STR_189_VALENTIN,
|
||||
TITLE_STR_190_XENIA,
|
||||
TITLE_STR_191_NATALYA,
|
||||
TITLE_STR_192_BARONSAMEDI,
|
||||
TITLE_STR_193_JAWS,
|
||||
TITLE_STR_194_MAYDAY,
|
||||
TITLE_STR_195_ODDJOB,
|
||||
TITLE_STR_196_ROSIKA,
|
||||
TITLE_STR_197_KARL,
|
||||
TITLE_STR_198_MARTIN,
|
||||
TITLE_STR_199_MARK,
|
||||
TITLE_STR_200_DAVE,
|
||||
TITLE_STR_201_DUNCAN,
|
||||
TITLE_STR_202_B,
|
||||
TITLE_STR_203_STEVEE,
|
||||
TITLE_STR_204_GRANT,
|
||||
TITLE_STR_205_GRAEME,
|
||||
TITLE_STR_206_KEN,
|
||||
TITLE_STR_207_ALAN,
|
||||
TITLE_STR_208_PETE,
|
||||
TITLE_STR_209_SHAUN,
|
||||
TITLE_STR_210_DWAYNE,
|
||||
TITLE_STR_211_DES,
|
||||
TITLE_STR_212_CHRIS,
|
||||
TITLE_STR_213_LEE,
|
||||
TITLE_STR_214_NEIL,
|
||||
TITLE_STR_215_JIM,
|
||||
TITLE_STR_216_ROBIN,
|
||||
TITLE_STR_217_STEVEH,
|
||||
TITLE_STR_218_TERRORIST,
|
||||
TITLE_STR_219_BIKER,
|
||||
TITLE_STR_220_JOEL,
|
||||
TITLE_STR_221_SCOTT,
|
||||
TITLE_STR_222_JOE,
|
||||
TITLE_STR_223_SALLY,
|
||||
TITLE_STR_224_MARION,
|
||||
TITLE_STR_225_MANDY,
|
||||
TITLE_STR_226_VIVIEN,
|
||||
TITLE_STR_227_LF,
|
||||
TITLE_STR_228_THEACTORS,
|
||||
TITLE_STR_229_STARRING,
|
||||
TITLE_STR_230_ALSOFEATURING,
|
||||
TITLE_STR_231_GUESTSTAR,
|
||||
TITLE_STR_232_007,
|
||||
TITLE_STR_233_JAMESBOND,
|
||||
TITLE_STR_234_NATALYASIMONOVA,
|
||||
TITLE_STR_235_006,
|
||||
TITLE_STR_236_ALECTREVELYAN,
|
||||
TITLE_STR_237_JANUSOPPERATIVE,
|
||||
TITLE_STR_238_XENIAONPTOPP,
|
||||
TITLE_STR_239_GENERAL,
|
||||
TITLE_STR_240_ARKADYOURUMOV,
|
||||
TITLE_STR_241_BORISGRISHENKO,
|
||||
TITLE_STR_242_EXKGBAGENT,
|
||||
TITLE_STR_243_VELENTINZUKOVSKY,
|
||||
TITLE_STR_244_DEFENSEMINISTER,
|
||||
TITLE_STR_245_DIMITRIMISHKIN,
|
||||
TITLE_STR_246_MAYDAY,
|
||||
TITLE_STR_247_JAWS,
|
||||
TITLE_STR_248_ODDJOB,
|
||||
TITLE_STR_249_BERONSAMEDI,
|
||||
TITLE_STR_250_JUNGLECOMMANDO,
|
||||
TITLE_STR_251_STPETERSBURGGUARD,
|
||||
TITLE_STR_252_RUSSIANINFANTRY,
|
||||
TITLE_STR_253_RUSSIANSOLDIER,
|
||||
TITLE_STR_254_JANUSMARINE,
|
||||
TITLE_STR_255_JANUSSPECIALFORCES,
|
||||
TITLE_STR_256_RUSSIANCOMMANDANT,
|
||||
TITLE_STR_257_NAVALOFFICER,
|
||||
TITLE_STR_258_SIBERIANGUARD,
|
||||
TITLE_STR_259_ARCTICCOMMANDO,
|
||||
TITLE_STR_260_SIBERIANSPECIALFORCES,
|
||||
TITLE_STR_261_MOOKRAKERELITE,
|
||||
TITLE_STR_262_HELICOPTERPILOT,
|
||||
TITLE_STR_263_SCIENTIST,
|
||||
TITLE_STR_264_CIVILIAN,
|
||||
TITLE_STR_265_1DOT,
|
||||
TITLE_STR_266_2DOT,
|
||||
TITLE_STR_267_3DOT,
|
||||
TITLE_STR_268_4DOT,
|
||||
TITLE_STR_269_BASEMENT,
|
||||
TITLE_STR_270_BASEMENT2,
|
||||
TITLE_STR_271_STACK,
|
||||
TITLE_STR_272_STACK2,
|
||||
TITLE_STR_273_BESTTIME,
|
||||
TITLE_STR_274_TARGET,
|
||||
TITLE_STR_275_NEWCHEATAVAILABLE,
|
||||
TITLE_STR_276_CHEATMULTIPLAYER,
|
||||
TITLE_STR_277_11HONEY,
|
||||
TITLE_STR_278_12SOLITAIRE,
|
||||
TITLE_STR_279_13KISSY,
|
||||
TITLE_STR_280_14GOODNIGHT,
|
||||
TITLE_STR_281_21PLENTY,
|
||||
TITLE_STR_282_22GALORE,
|
||||
TITLE_STR_283_23DOMINO,
|
||||
TITLE_STR_284_24GOODHEAD,
|
||||
TITLE_STR_285_SELECTCONTROLSTYLE,
|
||||
TITLE_STR_286_CONTROLSTYLE,
|
||||
#ifdef BUGFIX_R0
|
||||
TITLE_STR_287
|
||||
#endif
|
||||
#ifdef BUGFIX_R1
|
||||
TITLE_STR_287,
|
||||
TITLE_STR_288,
|
||||
TITLE_STR_289,
|
||||
TITLE_STR_287_RUSSIANSOLDIER,
|
||||
TITLE_STR_288_RUSSIANINFANTRY,
|
||||
TITLE_STR_289_SCIENTIST,
|
||||
TITLE_STR_290,
|
||||
TITLE_STR_291,
|
||||
TITLE_STR_292,
|
||||
|
||||
-4751
File diff suppressed because it is too large.
Load diff
-715
@@ -1,715 +0,0 @@
|
||||
6934ec4ee59ff3233b35f4f1a6f150872c90946d build/u/assets/obseg/bg/bg_sev_all_p.seg
|
||||
725079c09c91916b1c92f2409954d30d55bd135d build/u/assets/obseg/bg/bg_silo_all_p.seg
|
||||
e261790370351cd685a7e889edb82499971aca0c build/u/assets/obseg/bg/bg_stat_all_p.seg
|
||||
b9b264f12c887922a092f7a2665c533769831585 build/u/assets/obseg/bg/bg_arec_all_p.seg
|
||||
3a2baa9360e9abee6a8ab20fdc3fe36e85656115 build/u/assets/obseg/bg/bg_arch_all_p.seg
|
||||
0cf027fc81be4a66425e306bed8bb05561f24851 build/u/assets/obseg/bg/bg_tra_all_p.seg
|
||||
867e752dfd9e718ef15e3621653323b571110546 build/u/assets/obseg/bg/bg_dest_all_p.seg
|
||||
71c44847680dfb5c9303278375543152b0df82d2 build/u/assets/obseg/bg/bg_sevb_all_p.seg
|
||||
e71d85a4f72e9b2d81ffc109cd6803abb75360cd build/u/assets/obseg/bg/bg_azt_all_p.seg
|
||||
aaa560a8b0af13a72f5a1c25d0a21be4168c53b3 build/u/assets/obseg/bg/bg_pete_all_p.seg
|
||||
445541bf288425bfe2447929e81e7701794cd24e build/u/assets/obseg/bg/bg_depo_all_p.seg
|
||||
e87c0f91145ee784f830306478c3b3024255f18d build/u/assets/obseg/bg/bg_ref_all_p.seg
|
||||
2293c648997ae3f79c17262ba8df2247adb3f344 build/u/assets/obseg/bg/bg_cryp_all_p.seg
|
||||
11e8a8250f39bd090ed9d00b6fd3ab2ec7dc8243 build/u/assets/obseg/bg/bg_dam_all_p.seg
|
||||
192dda376370cf9a07c33a08af5836ec0be6175b build/u/assets/obseg/bg/bg_ark_all_p.seg
|
||||
a58d8963a5d219f61f056887bff996b52e1d79a6 build/u/assets/obseg/bg/bg_run_all_p.seg
|
||||
3d912e6d6229e5c19a527aa8ae51c353c14b4df7 build/u/assets/obseg/bg/bg_sevx_all_p.seg
|
||||
ff4f27b38eba194602a524a60cc5dbaccbd795a9 build/u/assets/obseg/bg/bg_jun_all_p.seg
|
||||
0575f20e0fb71057c2f7c660dd0ded4878b5d495 build/u/assets/obseg/bg/bg_dish_all_p.seg
|
||||
1bc46ac67773c12cf5d1fe79b48bbab3ea0ef321 build/u/assets/obseg/bg/bg_cave_all_p.seg
|
||||
8c02ca49fd14db9a72d2e1e54b36308454286a86 build/u/assets/obseg/bg/bg_cat_all_p.seg
|
||||
44d36870cc2502138b61c62436d0774942ff70b9 build/u/assets/obseg/bg/bg_crad_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_imp_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_ash_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_sho_all_p.seg
|
||||
46774d70127cae35b898f5b94246c77f6e239a71 build/u/assets/obseg/bg/bg_ame_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_rit_all_p.seg
|
||||
70ac79017821950bc71d0f5ea0148cde1825a615 build/u/assets/obseg/bg/bg_oat_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_lip_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_lee_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_ear_all_p.seg
|
||||
53ea3a1252992714b8f09235909390c001a3f3b8 build/u/assets/obseg/bg/bg_len_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_pam_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_wax_all_p.seg
|
||||
f4e72081570eae7ec26d1fcca157b762f686f465 build/u/assets/obseg/brief/UbriefarchZ.rz
|
||||
1c3a01646bcb6f9f4f86d93bc82a18b05b922cdb build/u/assets/obseg/brief/UbriefarkZ.rz
|
||||
931e609e804c1662ab5cee02a72451f1272d9978 build/u/assets/obseg/brief/UbriefaztZ.rz
|
||||
ee4f4d4554595baa3d2bfd3c67e8c1323f911d49 build/u/assets/obseg/brief/UbriefcaveZ.rz
|
||||
39f88af2e3281ced82978b008cedc16b709a38e7 build/u/assets/obseg/brief/UbriefcontrolZ.rz
|
||||
9b24f434908986145a511a77542a8805a9393152 build/u/assets/obseg/brief/UbriefcradZ.rz
|
||||
9e9a1f80c2ac012131ac68f70de1dd92b2bfde7e build/u/assets/obseg/brief/UbriefcrypZ.rz
|
||||
a2cd9b46835e51923c5ea6748bfca0e69d176d99 build/u/assets/obseg/brief/UbriefdamZ.rz
|
||||
95907929c2bc188e03cb073d33aab86ba45f4bd8 build/u/assets/obseg/brief/UbriefdepoZ.rz
|
||||
7ebcb54478326f792adcb6e202d1bef1c505389a build/u/assets/obseg/brief/UbriefdestZ.rz
|
||||
972e072765bfcd811decd4dffedddbbf7a29c9bc build/u/assets/obseg/brief/UbriefjunZ.rz
|
||||
49979c97dbaf913aac796248f42e9a61b756670d build/u/assets/obseg/brief/UbriefpeteZ.rz
|
||||
df90ab0b35388826748b1bbbb3ba5741518d5f8d build/u/assets/obseg/brief/UbriefrunZ.rz
|
||||
0aa115c6e2cb380eb48c8009cb45c2b74f15ad7c build/u/assets/obseg/brief/UbriefsevbunkerZ.rz
|
||||
63de9ce290a19b2c1fa4fe331c97c8bea410c4d4 build/u/assets/obseg/brief/UbriefsevbZ.rz
|
||||
980db05c0fb37c1aed140de766288930d8122019 build/u/assets/obseg/brief/UbriefsevxbZ.rz
|
||||
b5dc12755f197eb69db5bb27858e5ba059bb806c build/u/assets/obseg/brief/UbriefsevxZ.rz
|
||||
558bb65230f1fbd33c8c5854a90e9196201a16d2 build/u/assets/obseg/brief/UbriefsiloZ.rz
|
||||
2364aa02d403fac8c82fc14dc0411e94dfd97c29 build/u/assets/obseg/brief/UbriefstatueZ.rz
|
||||
7ebba8fb6938c6f541096fee7b3278b6c91043f0 build/u/assets/obseg/brief/UbrieftraZ.rz
|
||||
af96b213d4163b9e812599256ca4a677189a4003 build/u/assets/obseg/chr/CarmourguardZ.rz
|
||||
f9a962910ddc892bb07e3b40685959a4fec5f522 build/u/assets/obseg/chr/CbaronsamediZ.rz
|
||||
7de2912d10aacc23e192c322f33276345553de76 build/u/assets/obseg/chr/CbluecamguardZ.rz
|
||||
753048077b04c5f88726aa652af664879e8802c1 build/u/assets/obseg/chr/CbluemanZ.rz
|
||||
b3ad09ece73c09fa665895ebaf607755a412a2d7 build/u/assets/obseg/chr/CbluewomanZ.rz
|
||||
c565bfe19c39b075385fca28edcb2ac3ba65bdd1 build/u/assets/obseg/chr/CboilerbondZ.rz
|
||||
d8ecca4158650753d39353a8fca8da10786218ee build/u/assets/obseg/chr/CboilertrevZ.rz
|
||||
641dbee70e9bb3a5018596628866ad0c1b5e9c0a build/u/assets/obseg/chr/CborisZ.rz
|
||||
550728962bad279792cbf657595a9552c93150fd build/u/assets/obseg/chr/CcamguardZ.rz
|
||||
b532f4401a0f54a03eb6fa4b91dc9ce6ae134c59 build/u/assets/obseg/chr/CcardimanZ.rz
|
||||
3c987b5c592182f23558372e7ff93d413732a514 build/u/assets/obseg/chr/CcheckmanZ.rz
|
||||
49d76867e281ad92277fdcd5a997b1f73fe4f4b5 build/u/assets/obseg/chr/CcommguardZ.rz
|
||||
eb239f8832a9ab510dbe0ae63f65674d39062648 build/u/assets/obseg/chr/CdjbondZ.rz
|
||||
d3648c7044dd2d5dbf1a26962858220f2c23ec5a build/u/assets/obseg/chr/CfattechwomanZ.rz
|
||||
4243913931b617a6ddd80f3d66c520006405cfee build/u/assets/obseg/chr/Cgreatguard2Z.rz
|
||||
240bdbfefa49a1cffe805ade2f2c49f6eb992c6e build/u/assets/obseg/chr/CgreatguardZ.rz
|
||||
b1baec57726bdfd5c47b2d15d8b48e27ffa54d7e build/u/assets/obseg/chr/CgreyguardZ.rz
|
||||
583d8f6256e899a3fed7aa1f228177a9d501e6a6 build/u/assets/obseg/chr/CgreymanZ.rz
|
||||
1970a5f8e1acc97b26e36f9dae0298321bfb876f build/u/assets/obseg/chr/CheadalanZ.rz
|
||||
7b4366ffcc270b2ee37bc8e1a4d736d2d2c78ed8 build/u/assets/obseg/chr/CheadbalaclavaZ.rz
|
||||
feb9f0d401ce2882944dc633b8b3c9a0f17fc2e2 build/u/assets/obseg/chr/CheadbikeZ.rz
|
||||
85cea9b7136c172e5d7ba1be8dd9e68588132754 build/u/assets/obseg/chr/CheadbrosnanboilerZ.rz
|
||||
b56ffb982be53175c581f9344ad01738cb2a9799 build/u/assets/obseg/chr/CheadbrosnansnowZ.rz
|
||||
f056c8d0633700d20054552a9920ea97dfd4ebc5 build/u/assets/obseg/chr/CheadbrosnansuitZ.rz
|
||||
23e8b45441ca4812a525324b88ee4d0438a91dc4 build/u/assets/obseg/chr/CheadbrosnantimberZ.rz
|
||||
5ee8d74b19efb113de244e1bbb2b076ee6283d8d build/u/assets/obseg/chr/CheadbrosnanZ.rz
|
||||
98241d9423cd1571847a627e023e496d4a0b548e build/u/assets/obseg/chr/CheadbZ.rz
|
||||
819b91eac46ae9ee8ecd4dc4ef895a8ef10a031d build/u/assets/obseg/chr/CheadchrisZ.rz
|
||||
98bc6cbae7fa9be48e062518065e44ec7054b887 build/u/assets/obseg/chr/CheaddaveZ.rz
|
||||
baf393f5b3fef947aceec2d62ca089b01c4cee9b build/u/assets/obseg/chr/CheaddesZ.rz
|
||||
4ef80459445e1d8dcb9a264da1f82baf86910fa5 build/u/assets/obseg/chr/CheadduncanZ.rz
|
||||
099940e3278dbb3c5b17776de0b6cdc433a18779 build/u/assets/obseg/chr/CheaddwayneZ.rz
|
||||
1aefab90eecc5a900903da9ab98b465bf68db2a2 build/u/assets/obseg/chr/CheadgrahamZ.rz
|
||||
d1b779b3eafee77bc33752ee233b685cf4f3e966 build/u/assets/obseg/chr/CheadgrantZ.rz
|
||||
ec4d021cd47cda6ad7c4d5d69031875f0fabab14 build/u/assets/obseg/chr/CheadjimZ.rz
|
||||
8c445806dad9dc9e23a463053bcd2788499aea9f build/u/assets/obseg/chr/Cheadjoe2Z.rz
|
||||
5333d360aaa0e13b39e7adcfa6c81878d0dceeef build/u/assets/obseg/chr/CheadjoelZ.rz
|
||||
19ba0039e3958b1f7dcc3fd38a79bd6953fb26fb build/u/assets/obseg/chr/CheadjoeZ.rz
|
||||
2e60f66c0ca29491e81a227567223a8153094035 build/u/assets/obseg/chr/CheadkarlZ.rz
|
||||
517057510bbe4ea9d308f11bb56eb33849758cd4 build/u/assets/obseg/chr/CheadkenZ.rz
|
||||
601952bf0b973e1cbc85a469525d76042d61cf03 build/u/assets/obseg/chr/CheadleeZ.rz
|
||||
fbc4972b28da6b8e7dfa5f0c3b33033cdd840331 build/u/assets/obseg/chr/CheadmandyZ.rz
|
||||
efa446f619ae1f5a1ce8c5c953817bba270433a4 build/u/assets/obseg/chr/CheadmarionZ.rz
|
||||
0dbf268afa661531cb24821ffa8428a5adc0a0ea build/u/assets/obseg/chr/CheadmarkZ.rz
|
||||
8b2427714eb1a96fb63537f0af7d7e552d9d4e48 build/u/assets/obseg/chr/CheadmartinZ.rz
|
||||
4d6438a0c1223ed3afe4c35fb3fc8147f50b2f71 build/u/assets/obseg/chr/CheadmishkinZ.rz
|
||||
507bb8429843b23ef8beefeb6d85522c886acb18 build/u/assets/obseg/chr/CheadneilZ.rz
|
||||
85926c33d95c839e38617ef634921da552b274c6 build/u/assets/obseg/chr/CheadpeteZ.rz
|
||||
59a8675b92bb90314b405251a58f0f0317c8f205 build/u/assets/obseg/chr/CheadrobinZ.rz
|
||||
40f7901536fcc2bcdb1036af713ad357ca6900b2 build/u/assets/obseg/chr/CheadsallyZ.rz
|
||||
7d5338f987f9b49632001f9a47dc2b2c75f844c9 build/u/assets/obseg/chr/CheadscottZ.rz
|
||||
9f496a75d3d49173af1ff77948f1a16b7eb8c50e build/u/assets/obseg/chr/CheadshaunZ.rz
|
||||
bf50d903fb77b6cc7d5fc8f2c5af39308411cc13 build/u/assets/obseg/chr/CheadsteveeZ.rz
|
||||
7efd27879add069922632ab0d48ba90b3f555bd6 build/u/assets/obseg/chr/CheadstevehZ.rz
|
||||
91289963bcd07e659d621da8d11c9d208e9ff3eb build/u/assets/obseg/chr/CheadvivienZ.rz
|
||||
cbe6889485a8276d25b041e7b52d9866bc3060e0 build/u/assets/obseg/chr/CjawsZ.rz
|
||||
019af9cd39a7a720a331298112f2288c4aaf9930 build/u/assets/obseg/chr/CjeanwomanZ.rz
|
||||
20dfd0e89f4834fad2d001eeb3fce09d8c3d5055 build/u/assets/obseg/chr/CmaydayZ.rz
|
||||
d50267b2bb2c0f29c020894d06ece2bcc19b407c build/u/assets/obseg/chr/CmoonfemaleZ.rz
|
||||
f30ed13f62118048eec639e183bfc24975269a4b build/u/assets/obseg/chr/CmoonguardZ.rz
|
||||
3aab8c12017b26c686a1813b4c521fb4acb52791 build/u/assets/obseg/chr/CnatalyaZ.rz
|
||||
8c3f0f7795b2d3e04a8d5bbf19eede3b892d622a build/u/assets/obseg/chr/CnavyguardZ.rz
|
||||
30852bcccfa32b213d8fe5ee3c6a7321797b4754 build/u/assets/obseg/chr/CoddjobZ.rz
|
||||
2da8ed7a5936abffc296c8e875d74f88846b44f7 build/u/assets/obseg/chr/ColiveguardZ.rz
|
||||
dbf3e3885726cb0b0cf65286ddd46748535397fb build/u/assets/obseg/chr/CorumovZ.rz
|
||||
f77936814bc414fe647ae442e36b9806b5a86eb1 build/u/assets/obseg/chr/CpilotZ.rz
|
||||
bbaf4c082fe3e6d217959c1762c81bb15fec0e7a build/u/assets/obseg/chr/CredmanZ.rz
|
||||
2524ef24c798e30e8cbfcdd24985c01e2ee751d7 build/u/assets/obseg/chr/CrusguardZ.rz
|
||||
e96010ad083250dbec0b00a45a1decda648e6f90 build/u/assets/obseg/chr/CsnowbondZ.rz
|
||||
bf9ff65bcfa679e336a15c16c793dbed68a6a8ff build/u/assets/obseg/chr/CsnowguardZ.rz
|
||||
112f5d50a046f62687c58422286ec439173af683 build/u/assets/obseg/chr/CspicebondZ.rz
|
||||
1cb1f6a7f11b46e87f4ab6f91ba1d068fce40154 build/u/assets/obseg/chr/CsuitbondZ.rz
|
||||
5de72f4f175bf1613a253a2bd1b7607bd290f664 build/u/assets/obseg/chr/Csuit_lf_handZ.rz
|
||||
ef5695e2f548f28ec9809e816172865c0a85dafb build/u/assets/obseg/chr/CtechmanZ.rz
|
||||
a4bd1527ce647a62ace593da87aa8752a0ada22c build/u/assets/obseg/chr/CtechwomanZ.rz
|
||||
58f9ba4bc4a645c0a2211eb80079131850b536d6 build/u/assets/obseg/chr/CtimberbondZ.rz
|
||||
163ffcae6b73fe024a879d089350b54b2d32a3dd build/u/assets/obseg/chr/CtrevelyanZ.rz
|
||||
78d224bd41b194598cf4eefc270f948e19cdd0a5 build/u/assets/obseg/chr/CtrevguardZ.rz
|
||||
0b34e0b34c20e26ab83f5fa7bbcc09fd4922dcf4 build/u/assets/obseg/chr/CvalentinZ.rz
|
||||
2d3d89072922f993f6bb0907e05c3b9db1fdf4a7 build/u/assets/obseg/chr/CxeniaZ.rz
|
||||
be8f843b4e9b9ec8d3ac83f337105bf50416b4fa build/u/assets/obseg/gun/Gak47Z.rz
|
||||
8692c58972cb92acb5aa265cb82f6d1e4dd7ecda build/u/assets/obseg/gun/GaudiotapeZ.rz
|
||||
a283d5c8d47d91fafd21d5aceb6b13e501c81a79 build/u/assets/obseg/gun/GautoshotZ.rz
|
||||
9c069ec9be7ad3da9868328dff77bf26a6a612d0 build/u/assets/obseg/gun/GblackboxZ.rz
|
||||
ac72d4ffaa025ace37724887973a5614e9069c7b build/u/assets/obseg/gun/GblueprintsZ.rz
|
||||
f4eff3a515df736e6759b2777c4a53e5bb5419e3 build/u/assets/obseg/gun/GbombcaseZ.rz
|
||||
36455963b6adc468bee8a06d9940341f44c2df88 build/u/assets/obseg/gun/GbombdefuserZ.rz
|
||||
f4eff3a515df736e6759b2777c4a53e5bb5419e3 build/u/assets/obseg/gun/GbriefcaseZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GbugdetectorZ.rz
|
||||
7aff217d6bf7ab37126e6c23a660790fd8b963ba build/u/assets/obseg/gun/GbugZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GbungeeZ.rz
|
||||
9e7f5b6d2c835cf83a103813e7c686542862250e build/u/assets/obseg/gun/GcameraZ.rz
|
||||
a41c3d34dd1dfad6cd76cf43fc260554932fefb5 build/u/assets/obseg/gun/GcartblueZ.rz
|
||||
7f0fe8845729f3a1a922155dcdaeb834e78d2443 build/u/assets/obseg/gun/GcartridgeZ.rz
|
||||
bb72550883dd37fbd913e86a3f85465b8d67dc70 build/u/assets/obseg/gun/GcartrifleZ.rz
|
||||
f4c7df761272ec16f48ebfd0d67d48ab489456da build/u/assets/obseg/gun/GcartshellZ.rz
|
||||
a41ff8dcd6a96303e394b60f43fb0651b23bab15 build/u/assets/obseg/gun/GcircuitboardZ.rz
|
||||
0cdb12fa796c3715557818d7fd5f5f092c196079 build/u/assets/obseg/gun/GclipboardZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GcreditcardZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GdarkglassesZ.rz
|
||||
42f0534cecfb0b0f6484e1ddef3ee4a3f52f5159 build/u/assets/obseg/gun/GdatathiefZ.rz
|
||||
1fe4eceb3917babce851a503a3ce7568ce3fd14e build/u/assets/obseg/gun/GdattapeZ.rz
|
||||
95486e4f5f65e587a148450efd98507688f2bef9 build/u/assets/obseg/gun/GdoordecoderZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GdoorexploderZ.rz
|
||||
913589a6f1f3beed8a75c38af21e6bab6cc52f6b build/u/assets/obseg/gun/GdossierredZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GdynamiteZ.rz
|
||||
28ff302554421498505d4ac009c68ef856933cf4 build/u/assets/obseg/gun/GexplosivefloppyZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GexplosivepenZ.rz
|
||||
b7ee4439e8be82f58293321b0666c19c5d9f253c build/u/assets/obseg/gun/GextinguisherZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GfingergunZ.rz
|
||||
50cf111af8f49a6b6c45cfbb85bc70be8442b9fe build/u/assets/obseg/gun/GfistZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GflarepistolZ.rz
|
||||
131a5a36346e8de8949841d519d352536b3e1303 build/u/assets/obseg/gun/Gfnp90Z.rz
|
||||
0ffc7be82e6063c2de1ca6206ee03a4469a51098 build/u/assets/obseg/gun/GgaskeyringZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GgoldbarZ.rz
|
||||
ef0a685f094da4af7067c124815ce969919c47e1 build/u/assets/obseg/gun/GgoldeneyekeyZ.rz
|
||||
26adac26145a3ecdcdb85ae02f869e93d4017428 build/u/assets/obseg/gun/GgoldengunZ.rz
|
||||
f6803819660abd0f42e7afe4dc4a50933f047a6c build/u/assets/obseg/gun/GgoldwppkZ.rz
|
||||
83dd6e61f382b9c32f74c468dcf0f68fbbbc8d1c build/u/assets/obseg/gun/GgrenadelaunchZ.rz
|
||||
580421a79e0ddc768ce480acee2f1ed3fef23316 build/u/assets/obseg/gun/GgrenadeZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GheroinZ.rz
|
||||
0676bc5cffef399e2f1c46cd271012d49279fe8d build/u/assets/obseg/gun/GjoypadZ.rz
|
||||
f4eff3a515df736e6759b2777c4a53e5bb5419e3 build/u/assets/obseg/gun/GkeyanalysercaseZ.rz
|
||||
74c87b8e2f4c783dfb7a4ddc64b2de373660df6e build/u/assets/obseg/gun/GkeyboltZ.rz
|
||||
635dc0dfd4dde0d73cbfe2682a0e8fcae472e5b0 build/u/assets/obseg/gun/GkeycardZ.rz
|
||||
c79a0735c356407ef1b8875a53eb59f824365cc3 build/u/assets/obseg/gun/GkeyyaleZ.rz
|
||||
e4a6e4567dd075cfc013d60cf1b0aceaef03cd59 build/u/assets/obseg/gun/GknifeZ.rz
|
||||
ba3567c3617faeae8a780f87aac42397588a141a build/u/assets/obseg/gun/GlaserZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GlectreZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GlockexploderZ.rz
|
||||
20240e531fb01dac2ebbcedad6743bb7edcd4f47 build/u/assets/obseg/gun/Gm16Z.rz
|
||||
4a30a8eb3de219e9cd1a7fccc08e4995d28e44f4 build/u/assets/obseg/gun/GmapZ.rz
|
||||
28df314e796a34e71b460531d723915528baa7ed build/u/assets/obseg/gun/GmicrocameraZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GmicrocodeZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GmicrofilmZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GmoneyZ.rz
|
||||
b1d6da18d90da028d936baf6f5e869b8c1cce46d build/u/assets/obseg/gun/Gmp5ksilZ.rz
|
||||
ba6589b6ddb5ff58112fd21de25dfa86a834da7b build/u/assets/obseg/gun/Gmp5kZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GpitongunZ.rz
|
||||
afb80b3b1770cea7c75ccd1f508c487d315b2288 build/u/assets/obseg/gun/GplansZ.rz
|
||||
97cd167006f875c7fba36141bbe9264e99d1b28d build/u/assets/obseg/gun/GplastiqueZ.rz
|
||||
bed8c08922c522763cb010676c10556223ead57f build/u/assets/obseg/gun/GpolarizedglassesZ.rz
|
||||
d766fa78540729ce27264a970d41510f6aced847 build/u/assets/obseg/gun/GproximitymineZ.rz
|
||||
200ab882f42c74a3eb71c99ff2e446b391ae7277 build/u/assets/obseg/gun/GremotemineZ.rz
|
||||
127515575a0ba7cf66d8e3d663da0c4bb5cb6af8 build/u/assets/obseg/gun/GrocketlaunchZ.rz
|
||||
5a75b7c3a7dffc18aa11e44ac8107106be1e315a build/u/assets/obseg/gun/GrugerZ.rz
|
||||
f4eff3a515df736e6759b2777c4a53e5bb5419e3 build/u/assets/obseg/gun/GsafecrackercaseZ.rz
|
||||
4ef8d6c04045db0f60953cddb999313471670d21 build/u/assets/obseg/gun/GshotgunZ.rz
|
||||
c843d6d9f67cf2402bbe3feca9a18d906bfbeaab build/u/assets/obseg/gun/GsilverwppkZ.rz
|
||||
4848729c2113bd7f7795a4d41a34bb412957a988 build/u/assets/obseg/gun/GskorpionZ.rz
|
||||
c637dd38b0f715a95dc554598f40047b02d38d26 build/u/assets/obseg/gun/GsniperrifleZ.rz
|
||||
738ae1c9fdf369f532479eff096388dfe3a5d074 build/u/assets/obseg/gun/GspectreZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GspooltapeZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GspyfileZ.rz
|
||||
9da8872ae757dc89a27595cf28bea4cafdcc0ef7 build/u/assets/obseg/gun/GstafflistZ.rz
|
||||
89eee7867adb1f9c124bd8277bb9db461e1bece4 build/u/assets/obseg/gun/GtaserZ.rz
|
||||
efa45e5b2bcd4c03c8b56a9160914272357d61dd build/u/assets/obseg/gun/GthrowknifeZ.rz
|
||||
3ab2500293f8af76ac1a21db66bc5f1e6a373ef6 build/u/assets/obseg/gun/GtimedmineZ.rz
|
||||
e9bc424038fd0080d4f4582b5f31b569759d9ae2 build/u/assets/obseg/gun/GtriggerZ.rz
|
||||
88918f408836032df263ba6be279bb3de3565bac build/u/assets/obseg/gun/Gtt33Z.rz
|
||||
096504cb9626993eb043e8a7d14ca495f0ab5ce3 build/u/assets/obseg/gun/GuziZ.rz
|
||||
a9c9669ccb7dd0dc7152c4f3ea627c99a2e3cdf7 build/u/assets/obseg/gun/GvideotapeZ.rz
|
||||
76c4e07f6b0c6397b0463e6251ba9148e8c4423b build/u/assets/obseg/gun/GwatchcommunicatorZ.rz
|
||||
76c4e07f6b0c6397b0463e6251ba9148e8c4423b build/u/assets/obseg/gun/GwatchgeigercounterZ.rz
|
||||
76c4e07f6b0c6397b0463e6251ba9148e8c4423b build/u/assets/obseg/gun/GwatchidentifierZ.rz
|
||||
e9bc424038fd0080d4f4582b5f31b569759d9ae2 build/u/assets/obseg/gun/GwatchlaserZ.rz
|
||||
688ed0684ab04e86c10b0842ea50018a155ef3d5 build/u/assets/obseg/gun/GwatchmagnetattractZ.rz
|
||||
76c4e07f6b0c6397b0463e6251ba9148e8c4423b build/u/assets/obseg/gun/GwatchmagnetrepelZ.rz
|
||||
f4eff3a515df736e6759b2777c4a53e5bb5419e3 build/u/assets/obseg/gun/GweaponcaseZ.rz
|
||||
6a223739f3b248922e5ce104635af308d471e1b2 build/u/assets/obseg/gun/GwppksilZ.rz
|
||||
c6ee07a282862f223c6e4bbcda674bff3633665a build/u/assets/obseg/gun/GwppkZ.rz
|
||||
ae0b065c4b9b60b3561399dcbb883df9291bad29 build/u/assets/obseg/gun/GwristdartZ.rz
|
||||
4dfe82e65fc7247c9b712a7a78f885e83b0311a7 build/u/assets/obseg/prop/Pak47magZ.rz
|
||||
a86aef1cb5e589bf14220cebdba27e5d7162028c build/u/assets/obseg/prop/Palarm1Z.rz
|
||||
a6d832390d63c59d4a117bd84ce286acbd6700b7 build/u/assets/obseg/prop/Palarm2Z.rz
|
||||
52933eb5817d27115ec9a63c0553f4e59e3d7c71 build/u/assets/obseg/prop/Pammo_crate1Z.rz
|
||||
9937799ec7f14e00c26d4330c8fb8dd8a1feb420 build/u/assets/obseg/prop/Pammo_crate2Z.rz
|
||||
1cabd6f779e6e26a9ccac267e0eb4a1babe20237 build/u/assets/obseg/prop/Pammo_crate3Z.rz
|
||||
5b46413d1b360ec2ba1e820abf9c32abfd78f19d build/u/assets/obseg/prop/Pammo_crate4Z.rz
|
||||
83714c93af03aa67933fd25bb0ade9771c48cc85 build/u/assets/obseg/prop/Pammo_crate5Z.rz
|
||||
902b578f8be1111fe6502b0a5b54c463f9002158 build/u/assets/obseg/prop/PapcZ.rz
|
||||
45d334de4a7f2d653687f72c19d0620ac846ad7c build/u/assets/obseg/prop/Parchsecdoor1Z.rz
|
||||
2a896738717740632f927f9a1a6a99beb7b126b0 build/u/assets/obseg/prop/Parchsecdoor2Z.rz
|
||||
5c3d0a65a26998352cd21428d0d1c3bbdb916916 build/u/assets/obseg/prop/PartictrailerZ.rz
|
||||
cb1929baccffcf65bfaee613a117ae3f56b794e3 build/u/assets/obseg/prop/ParticZ.rz
|
||||
e87dcee46037876ff17cafcb261efbb89068557b build/u/assets/obseg/prop/PbarricadeZ.rz
|
||||
f747037f4318b107c6ef325d5034e742c279fe16 build/u/assets/obseg/prop/Pbin1Z.rz
|
||||
239245df49a6989477cef9eef9d4b3f0714b32dc build/u/assets/obseg/prop/Pblotter1Z.rz
|
||||
558f5cb0504793179076ee7679c43721a761dbf0 build/u/assets/obseg/prop/PbodyarmourvestZ.rz
|
||||
0922b84ee34f6d67b0b478ce59ce808cc027adce build/u/assets/obseg/prop/PbodyarmourZ.rz
|
||||
3281665e2d33eef6b4f155e3db08fac74b343b67 build/u/assets/obseg/prop/PbollardZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PbombZ.rz
|
||||
94b930522260cfbc4b3d5d2030ca427cfe665438 build/u/assets/obseg/prop/Pbook1Z.rz
|
||||
c5fe96cfb73ea0abbab9a0cacfcb218c344bc859 build/u/assets/obseg/prop/Pbookshelf1Z.rz
|
||||
804dd6ea52cdacb9b35f85031a937623695b07dc build/u/assets/obseg/prop/Pborg_crateZ.rz
|
||||
34ce4231e0b15248fe00afa2f3942a60130a36a2 build/u/assets/obseg/prop/PboxcartridgesZ.rz
|
||||
0c39c67baf4dedba2cac31ea1344e4c0df9683f8 build/u/assets/obseg/prop/Pboxes2x4Z.rz
|
||||
5a8b86b30f3c48bf6fbd47815f9402a67a04e400 build/u/assets/obseg/prop/Pboxes3x4Z.rz
|
||||
5d800191db97cef348966676f8414a2c776e8a20 build/u/assets/obseg/prop/Pboxes4x4Z.rz
|
||||
64f4551ae68536e519e4e7f6bbd1e692e6f26e73 build/u/assets/obseg/prop/PbrakeunitZ.rz
|
||||
a9d17f303790a810bdeccc87e272063a1ec73778 build/u/assets/obseg/prop/Pbridge_console1aZ.rz
|
||||
2484f854199a0087f2676c394c224a0a46cf3830 build/u/assets/obseg/prop/Pbridge_console1bZ.rz
|
||||
7aad5b1c18a7c59d3862561f1c367bf3eb2fe489 build/u/assets/obseg/prop/Pbridge_console2aZ.rz
|
||||
b6d0651e76d8bc457e1f0761ab13781171db4389 build/u/assets/obseg/prop/Pbridge_console2bZ.rz
|
||||
0c7f08b2c54646d2e861824ef8a238d6eab383cd build/u/assets/obseg/prop/Pbridge_console3aZ.rz
|
||||
c90faf7ed80b36664e894cc16c5139e0fba680b2 build/u/assets/obseg/prop/Pbridge_console3bZ.rz
|
||||
bd379dbeb0f59f0156234b33f936bbaec77bf37c build/u/assets/obseg/prop/PcarbmwZ.rz
|
||||
f8506a0a6b9ac9eae1c6988eb43ed7ac6a2484ca build/u/assets/obseg/prop/Pcard_box1Z.rz
|
||||
3b70d92bc05b34c8894b912426dbab81c482c7af build/u/assets/obseg/prop/Pcard_box2Z.rz
|
||||
6d2ac8d2744a215914f11093b2935ab23fc649b2 build/u/assets/obseg/prop/Pcard_box3Z.rz
|
||||
b39befee71646044f1b66e1022135dc90c99079a build/u/assets/obseg/prop/Pcard_box4Z.rz
|
||||
f862ecc3e3c5ec3760edfd6864c5a126eeed920c build/u/assets/obseg/prop/Pcard_box5Z.rz
|
||||
931d1774d903a322ab3001462bc598c487160127 build/u/assets/obseg/prop/Pcard_box6Z.rz
|
||||
54c3ada7510f2bb6dd1ea212457b31ca30b87cfe build/u/assets/obseg/prop/PcarescortZ.rz
|
||||
965fa84930051df6d213929c60178d877328d4c9 build/u/assets/obseg/prop/PcargolfZ.rz
|
||||
3528253fb3fac10a6c5826060af277685f805327 build/u/assets/obseg/prop/PcarweirdZ.rz
|
||||
ca5a6a593636315dee1d3a5b83e4c0d6c121a61d build/u/assets/obseg/prop/PcarzilZ.rz
|
||||
9d59c1641dbc9c20cdb9f7d701eebefb7caf5782 build/u/assets/obseg/prop/PcctvZ.rz
|
||||
9cae1e74fe7d2828c68c68fb8f6aea2978d9cd62 build/u/assets/obseg/prop/PchraudiotapeZ.rz
|
||||
83c3f7aa07ede08576039d1add06421a2e913cc8 build/u/assets/obseg/prop/PchrautoshotZ.rz
|
||||
a9c6b375d831a9b4683c5a680810ee62c30ae2c4 build/u/assets/obseg/prop/PchrblackboxZ.rz
|
||||
d8784ab5408553529c321dfea5edfde7d37d089e build/u/assets/obseg/prop/PchrblueprintsZ.rz
|
||||
791309eadbc8b773d1b6fbc579d00e563558bcbf build/u/assets/obseg/prop/PchrbombcaseZ.rz
|
||||
f159b016ee30795e791d10aa1b82fa608d11b3c4 build/u/assets/obseg/prop/PchrbombdefuserZ.rz
|
||||
65a34f99d86417225ff0af22b97dfd76a7d30670 build/u/assets/obseg/prop/PchrbriefcaseZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrbugdetectorZ.rz
|
||||
5d85e3ca9e8bd7d0f161d68412f77568191fe68d build/u/assets/obseg/prop/PchrbugZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrbungeeZ.rz
|
||||
cd9a94c2627e1df0451629d50e47a015e59da1ef build/u/assets/obseg/prop/PchrcameraZ.rz
|
||||
998e9b6759a830163dfc1565229bb8d4c08d5bac build/u/assets/obseg/prop/PchrcircuitboardZ.rz
|
||||
22162c77f175707ce0c8a6f2f757470135b7320f build/u/assets/obseg/prop/PchrclipboardZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrcreditcardZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrdarkglassesZ.rz
|
||||
865ba0a6e9af4dde17f1a91ee9d95533ed380645 build/u/assets/obseg/prop/PchrdatathiefZ.rz
|
||||
350d4589c3028a548581eccd04ec276880a344ae build/u/assets/obseg/prop/PchrdattapeZ.rz
|
||||
a93538e9a71031cfbf1eb7037f7ecaca45e4b989 build/u/assets/obseg/prop/PchrdoordecoderZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrdoorexploderZ.rz
|
||||
e6f067a4f335806927d49c87f8f419ea18ed5c50 build/u/assets/obseg/prop/PchrdossierredZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrdynamiteZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrexplosivepenZ.rz
|
||||
55df2d4f58332554c6ead8a6bd714ae14c4094b3 build/u/assets/obseg/prop/PchrextinguisherZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrfingergunZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrflarepistolZ.rz
|
||||
052caca11d482a8bc9c3b1aaf73fe7b5bb74f22b build/u/assets/obseg/prop/Pchrfnp90Z.rz
|
||||
556ae2ab982fba67ecc0de848d38d9ba37be331d build/u/assets/obseg/prop/PchrgaskeyringZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrgoldbarZ.rz
|
||||
c8a41b768e56c33dba6b59c3f6ceabab4127d2a8 build/u/assets/obseg/prop/PchrgoldeneyekeyZ.rz
|
||||
31e0fa52c31b6c23ac3000e31f9db98b0069666b build/u/assets/obseg/prop/PchrgoldenZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrgoldwppkZ.rz
|
||||
9ede31774c6c7e355e0a42b5a42d702606ab6302 build/u/assets/obseg/prop/PchrgrenadelaunchZ.rz
|
||||
61dd1e31f7e2a376a99e9eb9012abddec099705a build/u/assets/obseg/prop/PchrgrenaderoundZ.rz
|
||||
953a374f540b9fc67428d680c6d187dbfab81d04 build/u/assets/obseg/prop/PchrgrenadeZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrheroinZ.rz
|
||||
56f029c449805eeea8682cea4e84317430f6ec98 build/u/assets/obseg/prop/PchrkalashZ.rz
|
||||
791309eadbc8b773d1b6fbc579d00e563558bcbf build/u/assets/obseg/prop/PchrkeyanalysercaseZ.rz
|
||||
94e503cfaaba3b2470febfc7e9889b01f7d7ceb8 build/u/assets/obseg/prop/PchrkeyboltZ.rz
|
||||
943e1b8c75bb8ee4ea2e633e463f3b16a1a0fb5e build/u/assets/obseg/prop/PchrkeyyaleZ.rz
|
||||
a2e6fb8c1603e612f2c3556b780d2d8cfd64b8d3 build/u/assets/obseg/prop/PchrknifeZ.rz
|
||||
e9bf6f9b703a885e0555acbbea443ecdd801db47 build/u/assets/obseg/prop/PchrlaserZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrlectreZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrlockexploderZ.rz
|
||||
a353ac9f149f345fa33120b77e8902c8c3b6b565 build/u/assets/obseg/prop/Pchrm16Z.rz
|
||||
cde8cb16e589499649ba82b208f3fa2c47a4c3a2 build/u/assets/obseg/prop/PchrmapZ.rz
|
||||
c47ec943a04022ffbf56795b1a1ac412669f9ae2 build/u/assets/obseg/prop/PchrmicrocameraZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrmicrocodeZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrmicrofilmZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrmoneyZ.rz
|
||||
e009cdd8152a98f7368ef219f5bf0904bfa6f3d5 build/u/assets/obseg/prop/Pchrmp5ksilZ.rz
|
||||
68274f24c2241b33ca00434c422ce34657c1acfd build/u/assets/obseg/prop/Pchrmp5kZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrpitongunZ.rz
|
||||
a60bc3599c10642cc93ed9f3e4c6de98cc45b7df build/u/assets/obseg/prop/PchrplansZ.rz
|
||||
b32cfe4dffa91de4b6df81f4c44b2971e99a7870 build/u/assets/obseg/prop/PchrplastiqueZ.rz
|
||||
c1f567f93961d8c8aa82b2e1263650055f9c4de1 build/u/assets/obseg/prop/PchrpolarizedglassesZ.rz
|
||||
7a674039f068ca040af28389fd9ee2c400d91e2d build/u/assets/obseg/prop/PchrproximitymineZ.rz
|
||||
ea3c0de825b556b5e67f420330910cf9f77515b1 build/u/assets/obseg/prop/PchrremotemineZ.rz
|
||||
f723f7f43dde89aef7683bd69235e6979b1ae3ba build/u/assets/obseg/prop/PchrrocketlaunchZ.rz
|
||||
0e31b9a711d912a1557d496e590132f9821090d0 build/u/assets/obseg/prop/PchrrocketZ.rz
|
||||
515ddb60c99056176cc607dcfe3e0caca77d901c build/u/assets/obseg/prop/PchrrugerZ.rz
|
||||
791309eadbc8b773d1b6fbc579d00e563558bcbf build/u/assets/obseg/prop/PchrsafecrackercaseZ.rz
|
||||
2293b523da0d6099e453369129645133b509a885 build/u/assets/obseg/prop/PchrshotgunZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrsilverwppkZ.rz
|
||||
5ce723806354a5087a7388225340878638aa6a4a build/u/assets/obseg/prop/PchrskorpionZ.rz
|
||||
2d52e6a9952191cd19243ffacd440befe193d289 build/u/assets/obseg/prop/PchrsniperrifleZ.rz
|
||||
3c52401376a23b1e7d7d5541bcd52675a19ba54c build/u/assets/obseg/prop/PchrspectreZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrspooltapeZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrspyfileZ.rz
|
||||
7677d5452d3dac72e787bf8b388285637a94bedd build/u/assets/obseg/prop/PchrstafflistZ.rz
|
||||
01efcf6d4b3a5961072c5718e812a3e952ab8332 build/u/assets/obseg/prop/PchrtesttubeZ.rz
|
||||
e5560736687560f2a084d64ef6bc59ff196c775a build/u/assets/obseg/prop/PchrthrowknifeZ.rz
|
||||
74b527b8c5cfcd5e7ae52a12e2f884c4d874b77a build/u/assets/obseg/prop/PchrtimedmineZ.rz
|
||||
02c6fbb140d924d112c335900e23c1214014e6b3 build/u/assets/obseg/prop/Pchrtt33Z.rz
|
||||
d922b2e56c3159536506e692b8ae9f206c11d577 build/u/assets/obseg/prop/PchruziZ.rz
|
||||
82f9530815d795a6eeeb7523e56bc52dcf3ef025 build/u/assets/obseg/prop/PchrvideotapeZ.rz
|
||||
9eaf4491ef082901ee1af2edf6130d9f2f28cdfd build/u/assets/obseg/prop/PchrweaponcaseZ.rz
|
||||
40e40109d7c5c66fc05625496a3ea4acd2573292 build/u/assets/obseg/prop/PchrwppksilZ.rz
|
||||
671857533e5975baf99efa5d65ebb5d92cc15556 build/u/assets/obseg/prop/PchrwppkZ.rz
|
||||
02c5b39a62bf8edcaae321dbbc3a60658ba50343 build/u/assets/obseg/prop/PchrwristdartZ.rz
|
||||
a450b3f391759073dfa68c2b110a3b37683a8776 build/u/assets/obseg/prop/Pconsole1Z.rz
|
||||
fabeefc12448cebc972a3b4f3f4dfc53a7d736f9 build/u/assets/obseg/prop/Pconsole2Z.rz
|
||||
d13190a9413319a0a6e3ef7706c13e6862dfa208 build/u/assets/obseg/prop/Pconsole3Z.rz
|
||||
e77a65f6aaf76cc7143a6091e8b3ec0d599cb11e build/u/assets/obseg/prop/Pconsole_sev2aZ.rz
|
||||
d29647eb3372d82d1ffc6c5838ee90666c831a84 build/u/assets/obseg/prop/Pconsole_sev2bZ.rz
|
||||
4e12b868b16f133a2ad0c8311d6d4b82a62886dc build/u/assets/obseg/prop/Pconsole_sev2cZ.rz
|
||||
b353cfcb81ec5b9542c1c2e6f7f4a3cd6cbea5f2 build/u/assets/obseg/prop/Pconsole_sev2dZ.rz
|
||||
aea1895fcf2fb6fe9d8d2f1bb84a52d3b0b054ee build/u/assets/obseg/prop/Pconsole_sevaZ.rz
|
||||
e559b13d59ecf65aab8468430c11466e83eb6e1c build/u/assets/obseg/prop/Pconsole_sevbZ.rz
|
||||
377057f29a6602d6c0a4e033976840d8067c9523 build/u/assets/obseg/prop/Pconsole_sevcZ.rz
|
||||
0abfe19b6fd0fd210fdb264ecc8539cb37faa477 build/u/assets/obseg/prop/Pconsole_sevdZ.rz
|
||||
a59ed0aacc304ed4374747e513ef7b5464360b58 build/u/assets/obseg/prop/Pconsole_sev_GEaZ.rz
|
||||
7c488ace75bd0cacc2fd0e71d873e7b958f78ffc build/u/assets/obseg/prop/Pconsole_sev_GEbZ.rz
|
||||
46bc086f2022a7ae143003ca542d06ce7fdba90b build/u/assets/obseg/prop/Pcryptdoor1aZ.rz
|
||||
ac32eb9a4db6956e311adaac8f71764f7a5be178 build/u/assets/obseg/prop/Pcryptdoor1bZ.rz
|
||||
7c49b6b7762fe671e184707193931f5e78067321 build/u/assets/obseg/prop/Pcryptdoor2aZ.rz
|
||||
ca37c609124ff7bb14e97eb98b2913398fe08f87 build/u/assets/obseg/prop/Pcryptdoor2bZ.rz
|
||||
42fd2cb099e9db39b6b143092c21caa5f5b260b3 build/u/assets/obseg/prop/Pcryptdoor3Z.rz
|
||||
dc3e999f048705c6e801a41cb5c94d8a3560f980 build/u/assets/obseg/prop/Pcryptdoor4Z.rz
|
||||
0e56673a90a799709c1feac74727fae13a1aab8f build/u/assets/obseg/prop/PdamchaindoorZ.rz
|
||||
aa5e44fa11b85ef62cb586d18e488dc94a139ae8 build/u/assets/obseg/prop/PdamgatedoorZ.rz
|
||||
4a925daa21458c5fe0f8e5bf92a8e1124130f638 build/u/assets/obseg/prop/PdamtundoorZ.rz
|
||||
51cdbdc056c3a4c0c68ef26d9ad283de172bc4b5 build/u/assets/obseg/prop/Pdepot_door_steelZ.rz
|
||||
1edb36886cb2a8bddd2f5fe20dca4f842dd2a644 build/u/assets/obseg/prop/Pdepot_gate_entryZ.rz
|
||||
b869dc356210261658eb623cd928a374709a81a2 build/u/assets/obseg/prop/Pdesk1Z.rz
|
||||
d7138ff6afae7b3f785dab21f5bd1af973351806 build/u/assets/obseg/prop/Pdesk2Z.rz
|
||||
211100f6b0ae17fdf3f40b1ddec931215a5339a9 build/u/assets/obseg/prop/Pdesk_arecibo1Z.rz
|
||||
5a629142e471e6ea33a0dea73f196c6de5dd4fae build/u/assets/obseg/prop/Pdesk_lamp2Z.rz
|
||||
a997fdf3f019cc72bae447f8cb3e7db9dce2647f build/u/assets/obseg/prop/Pdest_engineZ.rz
|
||||
901072ef41a6ac18ac179fc01eccd703c941aac8 build/u/assets/obseg/prop/Pdest_exocetZ.rz
|
||||
8e7f49356af363ac9f59ca47a3138141e2e61ed3 build/u/assets/obseg/prop/Pdest_gunZ.rz
|
||||
cfed4b972ad0ba8a12b4d79c82cdc1fc20d3ada0 build/u/assets/obseg/prop/Pdest_harpoonZ.rz
|
||||
126a989fc443a8dffc6c9981ee8ab6a49c088660 build/u/assets/obseg/prop/Pdest_seawolfZ.rz
|
||||
1bc0cf115e6641db5a045d7cc7ed7533b7f61c15 build/u/assets/obseg/prop/Pdisc_readerZ.rz
|
||||
8a53daad5b7cfa2c93766454b8f64c34113ec657 build/u/assets/obseg/prop/Pdisk_drive1Z.rz
|
||||
de4d360db2d349566a4613832bfafb3690945e47 build/u/assets/obseg/prop/Pdoor_azt_chairZ.rz
|
||||
286b519aefb0cdcd7276d9e13a3fabd3d4c168a1 build/u/assets/obseg/prop/Pdoor_azt_desk_topZ.rz
|
||||
cc86bef39da6eb0c913b588ac4d27968a67779be build/u/assets/obseg/prop/Pdoor_azt_deskZ.rz
|
||||
b0532135fc4535cd932a9b4c1d1015aa1ae35c45 build/u/assets/obseg/prop/Pdoor_aztecZ.rz
|
||||
81a6b3ce0da8bc2224b3e6ea082d868fece7eedb build/u/assets/obseg/prop/PdoorconsoleZ.rz
|
||||
6f930e2faf5f5c0a1d8bcc7a5aac7748a8f84064 build/u/assets/obseg/prop/Pdoor_dest1Z.rz
|
||||
bae9c24abeb39de2faf0818ac268c99c9d38abe1 build/u/assets/obseg/prop/Pdoor_dest2Z.rz
|
||||
33d49047b40858918b1d36057b47fea2add28ec9 build/u/assets/obseg/prop/Pdoor_eyelidZ.rz
|
||||
49d9bae5725f9f29c8683a020bbda542550ea491 build/u/assets/obseg/prop/Pdoor_irisZ.rz
|
||||
b3b6c9ac334e58929b9ad3333c7581dfca35bc3a build/u/assets/obseg/prop/Pdoor_mfZ.rz
|
||||
87a08293c1c0225eab12d5d5b1d087a0b2b786c1 build/u/assets/obseg/prop/PdoorpanelZ.rz
|
||||
ee45319d5141e141ce62387b74ff0efe93392c39 build/u/assets/obseg/prop/Pdoorprison1Z.rz
|
||||
37f0b18cec567a7a1eb359d21aac06daf87b8ebe build/u/assets/obseg/prop/Pdoor_roller1Z.rz
|
||||
3728ba926c472500c26b959acfe92f73d74e4f4c build/u/assets/obseg/prop/Pdoor_roller2Z.rz
|
||||
7395bf6e4cad6f4279117bf2eef9882c2a06088a build/u/assets/obseg/prop/Pdoor_roller3Z.rz
|
||||
ba9175f9106f51a2e1050315316b7a9cb10d1be2 build/u/assets/obseg/prop/Pdoor_roller4Z.rz
|
||||
b2891525d7563d61b08217111738816fc9933fd6 build/u/assets/obseg/prop/Pdoor_rollertrainZ.rz
|
||||
339cb20962e468a07a4ebbd451aa8192fc6b5477 build/u/assets/obseg/prop/Pdoor_st_arec1Z.rz
|
||||
f51797012ad8ba5bd7d76b38168173156fcf3365 build/u/assets/obseg/prop/Pdoor_st_arec2Z.rz
|
||||
98fc3f2ed2d1b33fa7e094169f1b76ed5442bb6b build/u/assets/obseg/prop/PdoorstatgateZ.rz
|
||||
a46d9cc6256ba869ad65afbc6b21fe2baf288dff build/u/assets/obseg/prop/Pdoor_winZ.rz
|
||||
8784c20d2e0c96718c565351217d82acde425668 build/u/assets/obseg/prop/PexplosionbitZ.rz
|
||||
4f410a5fb8d55265c8d253ffd403ef3d02310930 build/u/assets/obseg/prop/Pfiling_cabinet1Z.rz
|
||||
d6cf9d0cd0e3a542315115b5816cac8a0aca5e32 build/u/assets/obseg/prop/PflagZ.rz
|
||||
656bd713f544cb21e84507a62cc1df54819be7e5 build/u/assets/obseg/prop/PfloppyZ.rz
|
||||
48d34a4a277c8c1511ac171fb391510bacdc2cdf build/u/assets/obseg/prop/Pfnp90magZ.rz
|
||||
e003bf7a964e006c12340fb39bf77f72bc0a2e09 build/u/assets/obseg/prop/PgasbarrelsZ.rz
|
||||
f2fc7683df0be4c40f72ba43e0a19a528913f64e build/u/assets/obseg/prop/PgasbarrelZ.rz
|
||||
2c133813f5e86d52dcc6298bffc062241a99fe8e build/u/assets/obseg/prop/Pgasplant_clear_doorZ.rz
|
||||
e2b9210fe47e36c272e8da9ecd85ef08ac1c1693 build/u/assets/obseg/prop/Pgas_plant_met1_do1Z.rz
|
||||
2e9e0d055a1626df18733c376ffabdd86e1e9c19 build/u/assets/obseg/prop/Pgas_plant_sw2_do1Z.rz
|
||||
95c1ae4b3a8727e6b069893a8edaf64ce8b4074c build/u/assets/obseg/prop/Pgas_plant_sw3_do1Z.rz
|
||||
d6e1930e9a37a0b1ebc31f5e922a0548a0310f6c build/u/assets/obseg/prop/Pgas_plant_sw4_do1Z.rz
|
||||
84c73edbb8a6c081326b82138512dd37c5b0d7ac build/u/assets/obseg/prop/Pgas_plant_sw_do1Z.rz
|
||||
cc6ea8962847407821ce9d6524b93a60a91bb546 build/u/assets/obseg/prop/Pgas_plant_wc_cub1Z.rz
|
||||
0e30f5557856dcfd8de59bca5701f4f9a32199d6 build/u/assets/obseg/prop/PgastankZ.rz
|
||||
556c8dbbfc61fb7fa2a3089d83dde4ce648becee build/u/assets/obseg/prop/Pglassware1Z.rz
|
||||
1955874a3aaf2b0f2523512b3a60c89f74d01e45 build/u/assets/obseg/prop/Pglassware2Z.rz
|
||||
d90967a0fe89d1272cb995abeb1211be3adeb260 build/u/assets/obseg/prop/Pglassware3Z.rz
|
||||
9ac7cc3d8257c044bf4813190b8b16141159d900 build/u/assets/obseg/prop/Pglassware4Z.rz
|
||||
5a010c4d3cecfa4ad6ad5ce8bbce93d42d34f2bc build/u/assets/obseg/prop/PgoldeneyelogoZ.rz
|
||||
34ce4231e0b15248fe00afa2f3942a60130a36a2 build/u/assets/obseg/prop/PgoldenshellsZ.rz
|
||||
a42f452e0bd4e14fe60cb36da6116252a23d73d6 build/u/assets/obseg/prop/PgroundgunZ.rz
|
||||
02f1079d79a71772f8887c2fe5ad49dc35cbeb99 build/u/assets/obseg/prop/Pgun_runway1Z.rz
|
||||
3b1863e731f6c3ea01d82130fa784650c4186447 build/u/assets/obseg/prop/PhatberetblueZ.rz
|
||||
8ca616eea4153c755623653919b2cad5ca069618 build/u/assets/obseg/prop/PhatberetredZ.rz
|
||||
9c3ab0c57b565478622ee836867cb74bb0b03f2c build/u/assets/obseg/prop/PhatberetZ.rz
|
||||
7abb38ea05f1b8f40fe302e0b524a317cba83ea2 build/u/assets/obseg/prop/PhatchboltZ.rz
|
||||
28264d220fbe42b177452227ed1c9c3eb5740d50 build/u/assets/obseg/prop/PhatchdoorZ.rz
|
||||
7ecee115f8c60fca7ada06ce9aa1eb1b804caa8b build/u/assets/obseg/prop/PhatchsevxZ.rz
|
||||
16158205592b1c8889c061d9f64352bea0735ffb build/u/assets/obseg/prop/PhatfurryblackZ.rz
|
||||
ba3bfbb928333b282a77b8ab9758f053f4fa1d61 build/u/assets/obseg/prop/PhatfurrybrownZ.rz
|
||||
6cca0fa84577202ed9174123e3b96986b06592f9 build/u/assets/obseg/prop/PhatfurryZ.rz
|
||||
fc28d837964b1a4df0a600c38d6768b39c737e79 build/u/assets/obseg/prop/PhathelmetgreyZ.rz
|
||||
fc28d837964b1a4df0a600c38d6768b39c737e79 build/u/assets/obseg/prop/PhathelmetZ.rz
|
||||
5da0a340cb43add4bdb4c3887784778951c51fba build/u/assets/obseg/prop/PhatmoonZ.rz
|
||||
75c9406f4fd0a9def9960041d02557ada166f962 build/u/assets/obseg/prop/PhatpeakedZ.rz
|
||||
924d487f3d23db1ac64f126a53bf85368c239c38 build/u/assets/obseg/prop/PhattbirdbrownZ.rz
|
||||
c86ddabbc803c8abe1426bad770c1841bb6dbf02 build/u/assets/obseg/prop/PhattbirdZ.rz
|
||||
ae432772b3a63c574349b22ea4ec781b9ed2bd4a build/u/assets/obseg/prop/PhelicopterZ.rz
|
||||
c5b649b54e76faa959f200ae6a8f617ca32da8b6 build/u/assets/obseg/prop/PhindZ.rz
|
||||
5aee98c283bf804e218b4ba624711dc47eb9e324 build/u/assets/obseg/prop/PICBM_noseZ.rz
|
||||
85b3b7ddc504f677f34fcf19a1981ff5bb788ce2 build/u/assets/obseg/prop/PICBMZ.rz
|
||||
a2c816a8fa8676babf863f128444ebd1c8709450 build/u/assets/obseg/prop/PjeepZ.rz
|
||||
d2cf22cec4c8822d6c1a46bddd7e36cb1db15005 build/u/assets/obseg/prop/Pjerry_can1Z.rz
|
||||
8b51a83739b57ca366241a4c8ff7021cc5ec2884 build/u/assets/obseg/prop/Pjungle3_treeZ.rz
|
||||
67a8b328bbac7b95f6eda9ae7658a9a392002007 build/u/assets/obseg/prop/Pjungle5_treeZ.rz
|
||||
121476497db770189de227d518df5bad1a5a364d build/u/assets/obseg/prop/Pkeyboard1Z.rz
|
||||
516a44d39dfd15c0fadecd59d2ed288bde942c8e build/u/assets/obseg/prop/Pkey_holderZ.rz
|
||||
a240705e027946a4f785325e2339232ba2614c61 build/u/assets/obseg/prop/Pkit_units1Z.rz
|
||||
f3d4175e66561a00907684e3e06782bc99214a1b build/u/assets/obseg/prop/PlabbenchZ.rz
|
||||
a080365bc5d367519891a5630ae4cac0e79edb53 build/u/assets/obseg/prop/PlandmineZ.rz
|
||||
1173d9437932a1708c6a5aeade54f5ade7396cf7 build/u/assets/obseg/prop/PlegalpageZ.rz
|
||||
4c6b40fa6ba4d9af9268591d24840d4f61a22755 build/u/assets/obseg/prop/Pletter_tray1Z.rz
|
||||
147d3bfa8724b658edbe41f15e358b880ce98285 build/u/assets/obseg/prop/Plocker3Z.rz
|
||||
20c72969b5fb335fbe00a50eee9c3bbbe4797e36 build/u/assets/obseg/prop/Plocker4Z.rz
|
||||
8aa572d5b6277c3d2349d107649fb523beaa5e9a build/u/assets/obseg/prop/Pm16magZ.rz
|
||||
34ce4231e0b15248fe00afa2f3942a60130a36a2 build/u/assets/obseg/prop/PmagnumshellsZ.rz
|
||||
0003b6420918af263fd72566b2ad3b8c7ac423fe build/u/assets/obseg/prop/Pmainframe1Z.rz
|
||||
898a850dbd040de9744ee243b32e0a692e83c102 build/u/assets/obseg/prop/Pmainframe2Z.rz
|
||||
0d8c5d21fae1da3c8ab62400577dea1c0f956ee8 build/u/assets/obseg/prop/Pmetal_chair1Z.rz
|
||||
7378b896f71108f2a6e5ae9cd664108727cf1a68 build/u/assets/obseg/prop/Pmetal_crate1Z.rz
|
||||
10eae6fc7a370086a8233e8701a37c50fe1e6df5 build/u/assets/obseg/prop/Pmetal_crate2Z.rz
|
||||
8446219fede1d1051cc464163f67a1fb855e0aad build/u/assets/obseg/prop/Pmetal_crate3Z.rz
|
||||
59992ce3b86a2c3409386104e22241337b5d0b1c build/u/assets/obseg/prop/Pmetal_crate4Z.rz
|
||||
98f04d5f66f955e240c83eee4dfcdb215a0dae27 build/u/assets/obseg/prop/PmilcopterZ.rz
|
||||
795a348667a2b225c78b2c9b2c1e689ca2fc83f3 build/u/assets/obseg/prop/PmiltruckZ.rz
|
||||
cbe510e1e027b5a2f397916e6876271698d2949b build/u/assets/obseg/prop/Pmissile_rack2Z.rz
|
||||
b3c8d8f3f1e540f1c15d70ae574b6c9b2e2c95af build/u/assets/obseg/prop/Pmissile_rackZ.rz
|
||||
4b222c53e717cafd1adf0d22de66274035a0fd48 build/u/assets/obseg/prop/PmodemboxZ.rz
|
||||
384f4ca54e45c7604d78ad476ea5212243717630 build/u/assets/obseg/prop/PmotorbikeZ.rz
|
||||
8893e30d3ed416b0a7abf7a351e41c6db0047f9f build/u/assets/obseg/prop/Pmp5kmagZ.rz
|
||||
206fe165677e1017d51811cf71dc613785390bd7 build/u/assets/obseg/prop/PnintendologoZ.rz
|
||||
03d050d59abd3506221c556033cd29f7cc1e169d build/u/assets/obseg/prop/Poil_drum1Z.rz
|
||||
3d597b5737baebab14e36751055a3f3572371973 build/u/assets/obseg/prop/Poil_drum2Z.rz
|
||||
e0721dc8775b0ef76a37fd223c02fee44751b7ac build/u/assets/obseg/prop/Poil_drum3Z.rz
|
||||
fc5d5521a8855cebf6f7cc365056ce6c5acf9fe8 build/u/assets/obseg/prop/Poil_drum5Z.rz
|
||||
291d5f2d9c791ad63580bbd762cb2764a965698b build/u/assets/obseg/prop/Poil_drum6Z.rz
|
||||
c7b853087ee4bd5d60c11a933eb3cc4409d08ea0 build/u/assets/obseg/prop/Poil_drum7Z.rz
|
||||
98bc932e0d185e333bd1dd8bb3db801138f2bfff build/u/assets/obseg/prop/PpadlockZ.rz
|
||||
52d0dde50bc167ebf111ee7c29e6a9e7068a9284 build/u/assets/obseg/prop/PpalmtreeZ.rz
|
||||
1e7869410da4ca07ad0c26381f4619b0d192ad45 build/u/assets/obseg/prop/PpalmZ.rz
|
||||
384218a7247dae38b7257c766cf9a5e160121cc3 build/u/assets/obseg/prop/Pphone1Z.rz
|
||||
e351cdaba1b140ff5bb3fa38537d01e08c256a0e build/u/assets/obseg/prop/PplaneZ.rz
|
||||
516514dc6fc028cf699986067151eb0b1c840d85 build/u/assets/obseg/prop/Pplant11Z.rz
|
||||
0f3401c29089bfeb47b903fcfc39762d7628c75c build/u/assets/obseg/prop/Pplant1Z.rz
|
||||
e26ea2f90e0552ed2a48dd115606d772d8c4b19c build/u/assets/obseg/prop/Pplant2bZ.rz
|
||||
c4d15c254ca3f2e6c3bfdc0aaabdef4776dab369 build/u/assets/obseg/prop/Pplant2Z.rz
|
||||
21f9dae12dc0012b1f18c5abfe073f947b213ef3 build/u/assets/obseg/prop/Pplant3Z.rz
|
||||
d77254d65332db62b8f6a33aa73efa845ebf261c build/u/assets/obseg/prop/Pradio_unit1Z.rz
|
||||
5ad719b39e981baf7c4c63491400bc64e6ef4a28 build/u/assets/obseg/prop/Pradio_unit2Z.rz
|
||||
f5b00aa1806ba6e76ad8b966774d75f180be47fd build/u/assets/obseg/prop/Pradio_unit3Z.rz
|
||||
e300fb1329c7fad869681ee2b9f41929a1c68ee6 build/u/assets/obseg/prop/Pradio_unit4Z.rz
|
||||
ff85545b38a6cfd399427fdbb30f20f91788475d build/u/assets/obseg/prop/ProofgunZ.rz
|
||||
2241db4f55d7b12c0e61fde1354f475331744aad build/u/assets/obseg/prop/PsafedoorZ.rz
|
||||
1ef35b66cb4d37d299afbc2e5722e9cdb51ccfd3 build/u/assets/obseg/prop/PsafeZ.rz
|
||||
c09312a1427b09601b65bb149d493ba9fb26ee36 build/u/assets/obseg/prop/Psat1_reflectZ.rz
|
||||
af94ab124fb96e266c9ac7c3f17daa974e3497ad build/u/assets/obseg/prop/PsatboxZ.rz
|
||||
e4d39e4d17af87747146fa0ac7b477c05921aca3 build/u/assets/obseg/prop/PsatdishZ.rz
|
||||
00222a72095fa8661dc257f8c93ebe66a9b4a423 build/u/assets/obseg/prop/Psec_panelZ.rz
|
||||
2e21c72ee14b8b3d1c4046badd7b3945a25cdfc0 build/u/assets/obseg/prop/PsevdishZ.rz
|
||||
2b468664583be413f170d1aa92b6f7a8e9b41926 build/u/assets/obseg/prop/Psev_door3_windZ.rz
|
||||
aa8146eca9cf8342bf4c5a38e0e0d1a105f1f70e build/u/assets/obseg/prop/Psev_door3Z.rz
|
||||
ebea1e0c295de89318d6f5dc67bee59e99af9c8c build/u/assets/obseg/prop/Psev_door4_windZ.rz
|
||||
46bb47b70c540d7f6240af1e30dd3746c2deabfc build/u/assets/obseg/prop/PsevdoormetslideZ.rz
|
||||
8fcc17fe2baf21584b88f05c60d9caa25390270b build/u/assets/obseg/prop/PsevdoornowindZ.rz
|
||||
14a52ff1e85678ee9e5e40d514cb1d8f6adf56f3 build/u/assets/obseg/prop/Psev_door_v1Z.rz
|
||||
916e0d1e9111c4cd771381f4a00eefeb9a79954b build/u/assets/obseg/prop/PsevdoorwindZ.rz
|
||||
916f76ae744262bc73e78a30bd71c5b2cd8d59f3 build/u/assets/obseg/prop/PsevdoorwoodZ.rz
|
||||
b835643375b4d4dd1d5881cf83a171b0a6c55a88 build/u/assets/obseg/prop/Psev_doorZ.rz
|
||||
820cdf9acf11be631c08bb3bdd5ae4954b0fbe9a build/u/assets/obseg/prop/Psev_trislideZ.rz
|
||||
35afe4983f036c73150f5109eb312e2c30010158 build/u/assets/obseg/prop/Pshuttle_door_lZ.rz
|
||||
47fc4d04d72566247b85f99c1e51c1f3bfc94169 build/u/assets/obseg/prop/Pshuttle_door_rZ.rz
|
||||
364ae8c8790923254bc1e9bb81143d2022b5ea7c build/u/assets/obseg/prop/PshuttleZ.rz
|
||||
beb6312c5f57f6bd92ee8032789e168887075b51 build/u/assets/obseg/prop/PsilencerZ.rz
|
||||
4d37ff93dbab26d121bd89e6c6c09baa1cf1e63e build/u/assets/obseg/prop/Psilo_lift_doorZ.rz
|
||||
5c6309bfa066923aabb3e1414b9105269037297e build/u/assets/obseg/prop/PsilotopdoorZ.rz
|
||||
243d4c881dee25b2fda28914b818da565f912721 build/u/assets/obseg/prop/PskorpionmagZ.rz
|
||||
e33f35e105668ee516e8529cd78b8ee18923e123 build/u/assets/obseg/prop/PspectremagZ.rz
|
||||
cdd4695413243301d4c4c432cb9efadde56f5466 build/u/assets/obseg/prop/PspeedboatZ.rz
|
||||
dd533eaa13217ee7376805b1183419af547804cd build/u/assets/obseg/prop/Psteel_door1Z.rz
|
||||
93bf8e62a8dd883a86c42f8c8a849aafcb0976f6 build/u/assets/obseg/prop/Psteel_door2bZ.rz
|
||||
5ca1be9726ed628f6898b314a11249e70e3abf98 build/u/assets/obseg/prop/Psteel_door2Z.rz
|
||||
436b72c264efd8096fe8314179fed247cbf35a68 build/u/assets/obseg/prop/Psteel_door3Z.rz
|
||||
96fd876bf57746d8b7e3173ba46ca6331cc9eba5 build/u/assets/obseg/prop/Pstool1Z.rz
|
||||
2e195c7f43bacdce47748463195315a31a2ca13d build/u/assets/obseg/prop/Pst_pete_room_1iZ.rz
|
||||
3834c2c467767a567808ea403cf135633a3bbe0e build/u/assets/obseg/prop/Pst_pete_room_2iZ.rz
|
||||
f18012733716c4b57671fe0910c1a7a35998faee build/u/assets/obseg/prop/Pst_pete_room_3tZ.rz
|
||||
e25026747ddfcd7e1c67c22171f5f16fb2052423 build/u/assets/obseg/prop/Pst_pete_room_5cZ.rz
|
||||
63a2c155f24b85f697e2aaf0c8bc36f66ed0c069 build/u/assets/obseg/prop/Pst_pete_room_6cZ.rz
|
||||
3a1850ef5f5bea2e9d305abd798d9a353f50f31a build/u/assets/obseg/prop/Pswipe_card2Z.rz
|
||||
49ab87bb92fb8de8d7623defc66dc3eb5f51371d build/u/assets/obseg/prop/Pswivel_chair1Z.rz
|
||||
7b4a1b175e7330d421fba457e8cd67f30bf2d443 build/u/assets/obseg/prop/PtankZ.rz
|
||||
621d2101d8b786c05babbab01785fc71cd4034b0 build/u/assets/obseg/prop/PtigerZ.rz
|
||||
1cb5c8d6e906b205438124a1aa8907983b02a665 build/u/assets/obseg/prop/Ptorpedo_rackZ.rz
|
||||
fed08fceceba194a55e768f1da10c6c81454e912 build/u/assets/obseg/prop/Ptrain_door2Z.rz
|
||||
fc40bf32e6c84030a29ce66cc6669774826ab715 build/u/assets/obseg/prop/Ptrain_door3Z.rz
|
||||
2e9a68f410ba065c04f863d494018bd921926d6d build/u/assets/obseg/prop/Ptrain_doorZ.rz
|
||||
5fc76342f5ef7ed857242c94e18f12552642dec1 build/u/assets/obseg/prop/PtrainextdoorZ.rz
|
||||
1b617b746861b7e1b7e8d2ea035818da2ba8d8ff build/u/assets/obseg/prop/Ptt33magZ.rz
|
||||
7670eb91189b54367ac9560b1d79c3920b969f62 build/u/assets/obseg/prop/Ptuning_console1Z.rz
|
||||
e54c8c3c851a95328763b97f8e91873b1756ca6b build/u/assets/obseg/prop/Ptv1Z.rz
|
||||
ba6a13398223e6a1df2ef36c1353e34b982405c7 build/u/assets/obseg/prop/Ptv4screenZ.rz
|
||||
153e208f38c3f3f1003e71c2f19096ae8f5c5fe0 build/u/assets/obseg/prop/Ptv_holderZ.rz
|
||||
f43d2d289a7ec56294cf106e08ce8c424dce7045 build/u/assets/obseg/prop/PtvscreenZ.rz
|
||||
1b617b746861b7e1b7e8d2ea035818da2ba8d8ff build/u/assets/obseg/prop/PuzimagZ.rz
|
||||
b33e1172f1df27c0d3a202fa9f7d9e1508be8795 build/u/assets/obseg/prop/PvertdoorZ.rz
|
||||
689304bf94706ed5548c5f3ae8b01eb029de80c1 build/u/assets/obseg/prop/PwalletbondZ.rz
|
||||
12b0aa0f799f1c862c546384836425dfef1038d3 build/u/assets/obseg/prop/Pwindow_cor11Z.rz
|
||||
1586d97008e2cb08e32d19eb0241fb63b7f9de31 build/u/assets/obseg/prop/Pwindow_lib_lg1Z.rz
|
||||
8e41ec1ec0205a49e67afd500748dc23d488544a build/u/assets/obseg/prop/Pwindow_lib_sm1Z.rz
|
||||
1af98965b6ec2b72692bd4367c27be8e5ad86001 build/u/assets/obseg/prop/PwindowZ.rz
|
||||
46179f458487fa1c078eead2c4f240834a5430e7 build/u/assets/obseg/prop/Pwooden_table1Z.rz
|
||||
0dede30c6597abf9d323ef1000c4e5c6af6b2572 build/u/assets/obseg/prop/Pwood_lg_crate1Z.rz
|
||||
fb26c8df927215e040cdc26c500e801fbb352284 build/u/assets/obseg/prop/Pwood_lg_crate2Z.rz
|
||||
20e3c758e106aa23e8c1d7cb8c243c2b265feb55 build/u/assets/obseg/prop/Pwood_md_crate3Z.rz
|
||||
d8c49a50961abc831d2da42cb88dd0d697505365 build/u/assets/obseg/prop/Pwood_sm_crate4Z.rz
|
||||
004092671498a15e117497ae8ce03c8905d57225 build/u/assets/obseg/prop/Pwood_sm_crate5Z.rz
|
||||
edfc1aa7a254fd088baa26af6e6ca34f26f62410 build/u/assets/obseg/prop/Pwood_sm_crate6Z.rz
|
||||
1b617b746861b7e1b7e8d2ea035818da2ba8d8ff build/u/assets/obseg/prop/PwppkmagZ.rz
|
||||
6e8f5362ddc8693f08f7d1b9b891a3605260091a build/u/assets/obseg/setup/Ump_setupameZ.bin
|
||||
135309100d487866728a772fcee41bd1a7d32307 build/u/assets/obseg/setup/Ump_setuparchZ.bin
|
||||
d24c40d624cf618a9b2005d44b0773beee518bb8 build/u/assets/obseg/setup/Ump_setuparkZ.bin
|
||||
0ff8f7489183dc45e5275f86640d399e6089b6c6 build/u/assets/obseg/setup/Ump_setupashZ.bin
|
||||
5c5fae8c6d1fae09d06649ceb5a03706c5a437fd build/u/assets/obseg/setup/Ump_setupcaveZ.bin
|
||||
164a2b14e483f4263848e8049f5b308374d80374 build/u/assets/obseg/setup/Ump_setupcradZ.bin
|
||||
4c9df15982ba5412a239706cdb6f0faf0c26372a build/u/assets/obseg/setup/Ump_setupcrypZ.bin
|
||||
250cb7c27cbe2481919d28fe2a293eebe6ec533e build/u/assets/obseg/setup/Ump_setupdishZ.bin
|
||||
de863e1ec1680c47e2b1b816ec0dd6ab2fcd3a01 build/u/assets/obseg/setup/Ump_setupimpZ.bin
|
||||
01ac6a13aabf8c1feaf99ffd76a68a5f1e5dfd31 build/u/assets/obseg/setup/Ump_setupoatZ.bin
|
||||
fd742b3a738e626d525fedf07f52d96baecf4350 build/u/assets/obseg/setup/Ump_setuprefZ.bin
|
||||
b8af7288bf8714778b3927ace108a36e26c1c816 build/u/assets/obseg/setup/Ump_setupsevbZ.bin
|
||||
17465deaa7487abcc2a71c302ad46c1b48e0d8bd build/u/assets/obseg/setup/Ump_setupstatueZ.bin
|
||||
83f1ee70257597dcfefea2b2332e02e09e25744e build/u/assets/obseg/setup/UsetuparchZ.bin
|
||||
2fc4e7a287a722015b3017f0e120f0aababfdabd build/u/assets/obseg/setup/UsetuparkZ.bin
|
||||
df7b79bafb3c8fe64eb3cc0bbd0d8f98ac484000 build/u/assets/obseg/setup/UsetupaztZ.bin
|
||||
e2ff50d38e2820749f5146ef4c937a02f124d1db build/u/assets/obseg/setup/UsetupcaveZ.bin
|
||||
6467d349200fef2616c546bb10a7b9a179b96f1e build/u/assets/obseg/setup/UsetupcontrolZ.bin
|
||||
2ca9a22ceba5789e28e94abff5813a9e43a8dd93 build/u/assets/obseg/setup/UsetupcradZ.bin
|
||||
cfab4ccea0345d4ea776fdbbd4a8c0d8b5728291 build/u/assets/obseg/setup/UsetupcrypZ.bin
|
||||
7f20d446c1642eaee235270eebcf2f616b08d747 build/u/assets/obseg/setup/UsetupdamZ.bin
|
||||
e2590d18a27d2f200f6ba1f0fc9b7d2a50fc3689 build/u/assets/obseg/setup/UsetupdepoZ.bin
|
||||
f9d4e73fd37ff8b386b26829229cb7744d3171cb build/u/assets/obseg/setup/UsetupdestZ.bin
|
||||
882cb011b234eb161b1c20a01781bdbd215643e6 build/u/assets/obseg/setup/UsetupjunZ.bin
|
||||
a721d9fa06ca7f3d3034f6635b7cd5cf6c3e74f1 build/u/assets/obseg/setup/UsetuplenZ.bin
|
||||
9c2176603a9399bc81c9e3872d5f40be75688020 build/u/assets/obseg/setup/UsetuppeteZ.bin
|
||||
717f3f232a5a8bc1161ed02efc29017bc0db90c1 build/u/assets/obseg/setup/UsetuprunZ.bin
|
||||
81d25a8c99d3548308439431caee84a760d7936b build/u/assets/obseg/setup/UsetupsevbZ.bin
|
||||
ce3bafe8c0bddbc9aebd73e25c74a10691f08805 build/u/assets/obseg/setup/UsetupsevbunkerZ.bin
|
||||
0363d286e296352e130843f5a738e94e9b60591b build/u/assets/obseg/setup/UsetupsevxZ.bin
|
||||
92f2523abbfb1045e1ca2f466c878584e3d88f4f build/u/assets/obseg/setup/UsetupsevxbZ.bin
|
||||
2653a45e5896405b712c4833f940c04c8c374ee6 build/u/assets/obseg/setup/UsetupsiloZ.bin
|
||||
feaf57ece1967b948f82fa8ccf9e11b5ecfc183e build/u/assets/obseg/setup/UsetupstatueZ.bin
|
||||
6bd0a8f5d4239ffb6ed6447e37757bdfd378c8c5 build/u/assets/obseg/setup/UsetuptraZ.bin
|
||||
24fcc05a10ca8c469b91ad96ccc1629cf1839e31 build/u/assets/obseg/stan/Tbg_ame_all_p_stanZ.rz
|
||||
3ddcc6b7e165581bd1af28ec3c6aece0b47d603c build/u/assets/obseg/stan/Tbg_arch_all_p_stanZ.rz
|
||||
85b6892dbf7a32162c5f9b44d8c44a5b326ce24a build/u/assets/obseg/stan/Tbg_arec_all_p_stanZ.rz
|
||||
e393f11ce7b36ec736cc7d75fada248a8c4265e8 build/u/assets/obseg/stan/Tbg_ark_all_p_stanZ.rz
|
||||
24fcc05a10ca8c469b91ad96ccc1629cf1839e31 build/u/assets/obseg/stan/Tbg_ash_all_p_stanZ.rz
|
||||
67b245c1e47c7c7d53b5d2153a077c6f02c63f8f build/u/assets/obseg/stan/Tbg_azt_all_p_stanZ.rz
|
||||
455ae812ba0d9ace3c87572b3c590e58cec433a1 build/u/assets/obseg/stan/Tbg_cat_all_p_stanZ.rz
|
||||
a00ddc18ea5f75e5342fff61f52dc1f53bc3cb2c build/u/assets/obseg/stan/Tbg_cave_all_p_stanZ.rz
|
||||
ec6bc7a7b19c4953a10ea7a44528afc8c09aed0b build/u/assets/obseg/stan/Tbg_crad_all_p_stanZ.rz
|
||||
1edf16ca074c81917a2f2b1aed5460453f0edb48 build/u/assets/obseg/stan/Tbg_cryp_all_p_stanZ.rz
|
||||
3c944606999d5e2316dbe45b04daeeb5cbced585 build/u/assets/obseg/stan/Tbg_dam_all_p_stanZ.rz
|
||||
a440675a0ff260dfd2c41a4984286de641d517b6 build/u/assets/obseg/stan/Tbg_depo_all_p_stanZ.rz
|
||||
d10d3bfe0fa92967f91d8b77bd3210343ee1b0b8 build/u/assets/obseg/stan/Tbg_dest_all_p_stanZ.rz
|
||||
6fb48be8c3022533091dc9edc04ca08e04b308dd build/u/assets/obseg/stan/Tbg_dish_all_p_stanZ.rz
|
||||
24fcc05a10ca8c469b91ad96ccc1629cf1839e31 build/u/assets/obseg/stan/Tbg_imp_all_p_stanZ.rz
|
||||
bf7b863521161a9db74953925bf1c182d33290d2 build/u/assets/obseg/stan/Tbg_jun_all_p_stanZ.rz
|
||||
834418ec489e3a9a76cabe80fc06f8e2a791669a build/u/assets/obseg/stan/Tbg_len_all_p_stanZ.rz
|
||||
d1d2fca3ed0f771a0f8b2088e344950cfc5b8fe5 build/u/assets/obseg/stan/Tbg_oat_all_p_stanZ.rz
|
||||
52a85442acd16e453cea3a45b4649cf3b01ab938 build/u/assets/obseg/stan/Tbg_pete_all_p_stanZ.rz
|
||||
fe6a8c3d4fd636f27dcc7dbd64c7f6e69b73d22d build/u/assets/obseg/stan/Tbg_ref_all_p_stanZ.rz
|
||||
f3bb4c13dc6536e810a12e085555c240a10a5ffa build/u/assets/obseg/stan/Tbg_run_all_p_stanZ.rz
|
||||
deea2b623cd44d5d3516097974f0bc00da4f301d build/u/assets/obseg/stan/Tbg_sev_all_p_stanZ.rz
|
||||
2d1ab00f67e942a89d5bb12b66a7a7242240a65e build/u/assets/obseg/stan/Tbg_sevb_all_p_stanZ.rz
|
||||
1f6ae696d72f724995f081d25e690a864a5bc787 build/u/assets/obseg/stan/Tbg_sevx_all_p_stanZ.rz
|
||||
f8be7e1cfc191d98baab043177ad1ceb52dd9d71 build/u/assets/obseg/stan/Tbg_silo_all_p_stanZ.rz
|
||||
663cc4efe0fe54bf3beb498ee197da7a920087e1 build/u/assets/obseg/stan/Tbg_stat_all_p_stanZ.rz
|
||||
cd8fd1127f581b40995432ed0e7bae3180de124e build/u/assets/obseg/stan/Tbg_tra_all_p_stanZ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LameJ.rz
|
||||
4b42a2b400e1a99c7a8829b5831e2dc3ac6fb481 build/u/assets/obseg/text/LarchJ.rz
|
||||
18b868041daaa1bb6c56604df2877b87d7e93889 build/u/assets/obseg/text/LarecJ.rz
|
||||
88c00e32b48efdff45bc755588e7624180acb2b3 build/u/assets/obseg/text/LarkJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LashJ.rz
|
||||
d1a05e2251ef35714f71a1d45da3e42833b37f8c build/u/assets/obseg/text/LaztJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LcatJ.rz
|
||||
91bdedec92781311c7684ed38c990c65627a4bdb build/u/assets/obseg/text/LcaveJ.rz
|
||||
7e60f7b5e885ebf62d5251541e7ac86dae5bc098 build/u/assets/obseg/text/LcradJ.rz
|
||||
60881c82ae3ad246ae298853c52f3b0140d5a432 build/u/assets/obseg/text/LcrypJ.rz
|
||||
28cd92fdb3675d15ff7c27e2ab1b04f9f2c970b9 build/u/assets/obseg/text/LdamJ.rz
|
||||
304a520376abe230392ae4c9bb4658ef3a73492a build/u/assets/obseg/text/LdepoJ.rz
|
||||
97effbee5010c03d167516e61a9b090f6f5ca5a5 build/u/assets/obseg/text/LdestJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LdishJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LearJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LeldJ.rz
|
||||
ee8313a9add1a157e20b195f875531151d78e548 build/u/assets/obseg/text/LgunJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LimpJ.rz
|
||||
115570ad2cabbe45298f386d7d7d3cf5e5e3f6bb build/u/assets/obseg/text/LjunJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LleeJ.rz
|
||||
ee3e0e083aa72dbc0c5bfa6ee338c6017f651392 build/u/assets/obseg/text/LlenJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LlipJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LlueJ.rz
|
||||
5d1078704c180c7ff18b3d03722346b58388d12b build/u/assets/obseg/text/LmiscJ.rz
|
||||
1f05a624d03a0174dd6e4a3a02eb67b0148b9281 build/u/assets/obseg/text/LmpmenuJ.rz
|
||||
75daaa6b8d6ca7be2da402828a1d44d5984a01a7 build/u/assets/obseg/text/LmpweaponsJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LoatJ.rz
|
||||
8a7518d427d6514a2757fb6a87be56f5c06c3256 build/u/assets/obseg/text/LoptionsJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LpamJ.rz
|
||||
8cd9d295dd8864411b9a7a2a77a519b48379ed34 build/u/assets/obseg/text/LpeteJ.rz
|
||||
a78d3c66a36c3219309c348ea244b18fbe878b33 build/u/assets/obseg/text/LpropobjJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LrefJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LritJ.rz
|
||||
5f6c5fffa9672b87110970e97968f3c7dbee05b0 build/u/assets/obseg/text/LrunJ.rz
|
||||
2f2fb2f32c161cb0159397594e3114aa4e2167a9 build/u/assets/obseg/text/LsevbJ.rz
|
||||
8edab9f382ef8cbb4dbf76750402d023f0bfaa0a build/u/assets/obseg/text/LsevJ.rz
|
||||
27a7c4ce5287197af9b94aabcbda46ac8c906638 build/u/assets/obseg/text/LsevxbJ.rz
|
||||
2a8279f76cb6a2373563ccd596b40cf9784fadff build/u/assets/obseg/text/LsevxJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LshoJ.rz
|
||||
2015997236e7728ed43d4df36046a004d37812d0 build/u/assets/obseg/text/LsiloJ.rz
|
||||
5ffbd3850020a70b2138a8736bea7b41da19effa build/u/assets/obseg/text/LstatJ.rz
|
||||
d8d597dd9a27e21aef20461d41900c9192df6aab build/u/assets/obseg/text/LtitleJ.rz
|
||||
86c64fc63b52a7788788c6369ff9b76242ddf729 build/u/assets/obseg/text/LtraJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LwaxJ.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LameE.rz
|
||||
6c106630029b88174cff1cc7f56b2298b3fbc39c build/u/assets/obseg/text/LarchE.rz
|
||||
921fe7353bf7f2e8a81e767db7e274d33ec1916c build/u/assets/obseg/text/LarecE.rz
|
||||
f81ed00f844e467b8e23fe84200721918b5a8dff build/u/assets/obseg/text/LarkE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LashE.rz
|
||||
0a894be764bef383de3ab7404176c4357d539189 build/u/assets/obseg/text/LaztE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LcatE.rz
|
||||
2d47eea98a60a4cef3d48d880f312e4e6a89525d build/u/assets/obseg/text/LcaveE.rz
|
||||
ebab5425f0f2b37d63b75b761c3b95216b6a8b59 build/u/assets/obseg/text/LcradE.rz
|
||||
93621ad86b317babd86ebbe27a42f2838a3730f8 build/u/assets/obseg/text/LcrypE.rz
|
||||
a4e9c61b537989761919856aec5fd72dc45a2100 build/u/assets/obseg/text/LdamE.rz
|
||||
43f95f24e9ed53bda5850891f4d8475547aec4db build/u/assets/obseg/text/LdepoE.rz
|
||||
80d55727d8645f6444be5ff4b60b8e20a62119a5 build/u/assets/obseg/text/LdestE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LdishE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LearE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LeldE.rz
|
||||
d462ce46a4327d1d5b50264a3c74584e359f39ad build/u/assets/obseg/text/LgunE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LimpE.rz
|
||||
194e7412c4587e753fcf5da272a71f72479501fc build/u/assets/obseg/text/LjunE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LleeE.rz
|
||||
9ee69e89e1b07a70333e8ae6ff4463cc09484be0 build/u/assets/obseg/text/LlenE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LlipE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LlueE.rz
|
||||
210a82f40bdaf5439d3fe2b52b452cbd905609a6 build/u/assets/obseg/text/LmiscE.rz
|
||||
f54ad9a04d118034b94909b94ace06620e14b1ed build/u/assets/obseg/text/LmpmenuE.rz
|
||||
98c4f26813968ee3664bd00e061249adab3be273 build/u/assets/obseg/text/LmpweaponsE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LoatE.rz
|
||||
28741d21da37a013a3991c668d14fc14db36c48d build/u/assets/obseg/text/LoptionsE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LpamE.rz
|
||||
1af509ee2ce444951d694ed4c57282c387a11e46 build/u/assets/obseg/text/LpeteE.rz
|
||||
c9f1f0d308227dec50c91ba7a9961124b0db41eb build/u/assets/obseg/text/LpropobjE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LrefE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LritE.rz
|
||||
f87abac9936df099fbc6f9ec9dfc4dde79080a24 build/u/assets/obseg/text/LrunE.rz
|
||||
e335aeae15a7f02b23cc6801fb74257e3332e86b build/u/assets/obseg/text/LsevbE.rz
|
||||
6058b1230318a6af86fe1849322c7597f9c72041 build/u/assets/obseg/text/LsevE.rz
|
||||
6aacfb70424ee6d3c42927f7f87e4780164417d7 build/u/assets/obseg/text/LsevxbE.rz
|
||||
a0433f9905bd1afe88bea18264c072917c47175d build/u/assets/obseg/text/LsevxE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LshoE.rz
|
||||
d7c9db38149e31b965861f9bd800a36c8a21a9c8 build/u/assets/obseg/text/LsiloE.rz
|
||||
d18559b543a41e70e3d28ecb89ddd04c45d6e5ea build/u/assets/obseg/text/LstatE.rz
|
||||
20aa214af1ccaf5b990d9992164073aac273e518 build/u/assets/obseg/text/LtitleE.rz
|
||||
bfd7e0384e87790bfeeab6a09a51df79d5928721 build/u/assets/obseg/text/LtraE.rz
|
||||
6a358a7f0cf4ea87bae5c11c79118d7f2c4772d6 build/u/assets/obseg/text/LwaxE.rz
|
||||
@@ -222,22 +222,12 @@ SECTIONS
|
||||
_bssSegmentEnd = ADDR(.bss) + SIZEOF(.bss);
|
||||
_bssSegmentSize = SIZEOF(.bss);
|
||||
|
||||
_roombufSegmentStart = ADDR(.roombuf);
|
||||
.roombuf (NOLOAD) :
|
||||
{
|
||||
build/OUTCODE/src/game/room_model_buffer.o (.bss);
|
||||
}
|
||||
_roombufSegmentEnd = ADDR(.roombuf) + SIZEOF(.roombuf);
|
||||
|
||||
_decompbufSegmentStart = ADDR(.decompbuf);
|
||||
.decompbuf 0x80300000 :
|
||||
{
|
||||
build/OUTCODE/src/decompressbuffer.o (.bss);
|
||||
}
|
||||
_decompbufSegmentEnd = ADDR(.decompbuf) + SIZEOF(.decompbuf);
|
||||
|
||||
_stacksSegmentStart = ADDR(.stacks);
|
||||
.stacks (NOLOAD) :
|
||||
#if defined(VERSION_EU)
|
||||
.stacks 0x803A1AB0 :
|
||||
#else
|
||||
.stacks 0x803AB400 :
|
||||
#endif
|
||||
{
|
||||
build/OUTCODE/src/stacks.o (.bss);
|
||||
}
|
||||
|
||||
+132
-48
@@ -21,11 +21,16 @@
|
||||
#define PLUS() +
|
||||
#define ZERO() 0
|
||||
#define ONE() 1
|
||||
|
||||
#define EXPAND(a) a
|
||||
#define EAT(x)
|
||||
#define STR(n) #n
|
||||
|
||||
#ifdef __sgi
|
||||
# define EXPAND(a) a
|
||||
# define EAT(x)
|
||||
#else
|
||||
# define EXPAND(...) __VA_ARGS__
|
||||
# define EAT(x, ...) __VA_ARGS__
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* Force the pre-processor to expand the macro a large number of times. Usage:
|
||||
@@ -87,7 +92,11 @@
|
||||
#define EVAL8(a) EVAL4(EVAL2(EVAL1(a)))
|
||||
#define EVAL4(a) EVAL2(EVAL1(a))
|
||||
#define EVAL2(a) EVAL1(a)
|
||||
#define EVAL1(VA) IF_VA(EXPAND(DEFER(IS_PAREN)(VA)))(DEFER(EXPAND_ARGS_STACK)) VA
|
||||
#ifdef __sgi
|
||||
# define EVAL1(VA) IF_VA(EXPAND(DEFER(IS_PAREN)(VA)))(DEFER(EXPAND_ARGS_STACK)) VA
|
||||
#else
|
||||
# define EVAL1(...) __VA_ARGS__
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Causes a function-style macro to require an additional pass to be expanded.
|
||||
@@ -181,15 +190,29 @@
|
||||
#define CAT(a, b) PRIMITIVECAT(a, b)
|
||||
#define PRIMITIVECAT(a, b) a##b
|
||||
|
||||
/**
|
||||
#ifdef __sgi
|
||||
/**
|
||||
* Get the first argument and ignore the rest.
|
||||
*/
|
||||
#define FIRST_PRE_VA(a) a
|
||||
#define FIRST_PRE_VA(a) a
|
||||
#else
|
||||
/**
|
||||
* Get the first argument and ignore the rest.
|
||||
*/
|
||||
# define FIRST_PRE_VA(a,...) a
|
||||
#endif
|
||||
|
||||
/**
|
||||
#ifdef __sgi
|
||||
/**
|
||||
* Get the second argument and ignore the rest.
|
||||
*/
|
||||
#define SECOND_PRE_VA(a, b) b
|
||||
# define SECOND_PRE_VA(a, b) b
|
||||
#else
|
||||
/**
|
||||
* Get the second argument and ignore the rest.
|
||||
*/
|
||||
# define SECOND_PRE_VA(a, b,...) b
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Expects a single input (not containing commas). Returns 1 if the input is
|
||||
@@ -200,19 +223,31 @@
|
||||
* This macro abuses the fact that PROBE() contains a comma while other valid
|
||||
* inputs must not.
|
||||
*/
|
||||
#define IS_PROBE(a) SECOND_PRE_VA(a, 0)
|
||||
#define PROBE() ~, 1
|
||||
#ifdef __sgi
|
||||
# define IS_PROBE(a) SECOND_PRE_VA(a, 0)
|
||||
# define PROBE() ~, 1
|
||||
#else
|
||||
# define IS_PROBE(...) SECOND_PRE_VA(__VA_ARGS__,0)
|
||||
# define PROBE(...) ~, 1, __VA_ARGS__
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Detect Parenthesis
|
||||
* @return TRUE/FALSE
|
||||
*/
|
||||
#define IS_PAREN(x) IS_PROBE(IS_PAREN_PROBE x)
|
||||
#define IS_PAREN_PROBE(A) PROBE(~)
|
||||
|
||||
#ifdef __sgi
|
||||
# define IS_PAREN(x) IS_PROBE(IS_PAREN_PROBE x)
|
||||
# define IS_PAREN_PROBE(A) PROBE(~)
|
||||
#else
|
||||
# define IS_PAREN(...) IS_PROBE(IS_PAREN_PROBE __VA_ARGS__)
|
||||
# define IS_PAREN_PROBE(...) PROBE(~) __VA_ARGS__
|
||||
#endif
|
||||
|
||||
#ifdef EXPAND_EXAMPLES
|
||||
IS_PAREN((S)) // Expands to 1
|
||||
IS_PAREN(xxx) // Expands to 0
|
||||
//IS PAREN
|
||||
IS_PAREN((S)) // IS...((s)) Expands to 1
|
||||
IS_PAREN(xxx) // IS...(xxx) Expands to 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -268,6 +303,7 @@
|
||||
|
||||
|
||||
#ifdef EXPAND_EXAMPLES
|
||||
//NOT
|
||||
NOT(1) // not 1
|
||||
NOT(0) // not 0
|
||||
NOT() // not
|
||||
@@ -403,35 +439,59 @@ IF_VA(NOT(IS_EMPTY(A)))/*
|
||||
/**
|
||||
* Push/Pop VA Args arrays
|
||||
*/
|
||||
#define POP_ARG(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AF) /*
|
||||
|
||||
#ifdef __sgi
|
||||
# define POP_ARG(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AF) /*
|
||||
*/(IF_VA(IS_PAREN(A))(_POP_ARG A) /*
|
||||
ELSE*/IF_VA(NOT(IS_PAREN(A)))(EXPAND_ARGS_STACK(B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AF)))
|
||||
#define _POP_ARG(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AF) EXPAND_ARGS_STACK(B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AF)
|
||||
#define PUSH_ARG(A,B)(A, TRY_EXPAND(B))
|
||||
# define _POP_ARG(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD, AE, AF) EXPAND_ARGS_STACK(B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD, AE, AF)
|
||||
#else
|
||||
# define POP_ARG(A, ...) (IF_VA(IS_PAREN(A))(_POP_ARG A) IF_VA(NOT(IS_PAREN(A))) (_POP_ARG(A, __VA_ARGS__))
|
||||
# define _POP_ARG(A, ...) __VA_ARGS__
|
||||
#endif
|
||||
# define PUSH_ARG(A,B)(A, TRY_EXPAND(B))
|
||||
|
||||
/**
|
||||
/**
|
||||
* TRY Expand If Array
|
||||
*/
|
||||
#define TRY_EXPAND(c) _TRY_EXPAND(IS_PAREN(c))(c)
|
||||
#define _TRY_EXPAND(c) CAT(__TRY_EXPAND_, c)
|
||||
#define __TRY_EXPAND_1(a) EXPAND_ARGS_STACK a
|
||||
#ifdef __sgi
|
||||
# define __TRY_EXPAND_1(a) EXPAND_ARGS_STACK a
|
||||
#else
|
||||
# define __TRY_EXPAND_1(A) __TRY_EXPAND_11 A
|
||||
# define __TRY_EXPAND_11(...) __VA_ARGS__
|
||||
#endif
|
||||
#define __TRY_EXPAND_0(a) a
|
||||
|
||||
/**
|
||||
|
||||
#ifdef __sgi
|
||||
/**
|
||||
* Get the first argument and ignore the rest.
|
||||
*/
|
||||
#define FIRST(a) EXPAND(DEFER(FIRST_PRE_VA)(TRY_EXPAND(a)))
|
||||
|
||||
/**
|
||||
# define FIRST(a) EXPAND(DEFER(FIRST_PRE_VA)(TRY_EXPAND(a)))
|
||||
/**
|
||||
* Get the second argument and ignore the rest.
|
||||
*/
|
||||
#define SECOND(a, b) EXPAND(DEFER(SECOND_PRE_VA)(TRY_EXPAND(a), b))
|
||||
# define SECOND(a, b) EXPAND(DEFER(SECOND_PRE_VA)(TRY_EXPAND(a), b))
|
||||
|
||||
#else
|
||||
/**
|
||||
* Get the first argument and ignore the rest.
|
||||
*/
|
||||
# define FIRST(A,...) EXPAND(DEFER(FIRST_PRE_VA)(TRY_EXPAND(a)))
|
||||
/**
|
||||
* Get the second argument and ignore the rest.
|
||||
*/
|
||||
# define SECOND(a, b,...) EXPAND(DEFER(SECOND_PRE_VA)(TRY_EXPAND(a), b))
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef EXPAND_EXAMPLES
|
||||
// POP ARG
|
||||
// POP ARG (THIS, IS, a, TEST, hy)
|
||||
POP_ARG(THIS, IS, a, TEST, hy)
|
||||
// push arg
|
||||
PUSH_ARG(test, (this, is, a, test, with, a , is, so, is, a, test, with, a , is, so, is, a, test, with, a , is, so, is, a, test, with, a , is, so))
|
||||
// push arg test (this, is, a, test, with, a , is, so, is, a, test, with, a , is, so, is, a, test, with, a , is, so, is, a, test, with, a , is, so)
|
||||
PUSH_ARG(test, (this, is, a, test, with, a2 , is2, so, is3, a3, test2, with2, a3 , is4, so4, is5, a4, test3, with3, a6 , is6, so5, is7, a7, test4, with5, a8 , is8, so8))
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -453,11 +513,11 @@ IF_VA(NOT(IS_EMPTY(A)))/*
|
||||
/**
|
||||
* Logical AND. Simply performs a lookup.
|
||||
*/
|
||||
#define AND(a, b) CAT(CAT(_AND_, a), b)
|
||||
#define _AND_00 0
|
||||
#define _AND_01 0
|
||||
#define _AND_10 0
|
||||
#define _AND_11 1
|
||||
#define AND_CPPLIB(a, b) CAT(CAT(_AND_CPPLIB_, a), b)
|
||||
#define _AND_CPPLIB_00 0
|
||||
#define _AND_CPPLIB_01 0
|
||||
#define _AND_CPPLIB_10 0
|
||||
#define _AND_CPPLIB_11 1
|
||||
|
||||
/**
|
||||
* Macro if statement.
|
||||
@@ -496,10 +556,13 @@ IF_VA(NOT(IS_EMPTY(A)))/*
|
||||
|
||||
|
||||
#ifdef EXPAND_EXAMPLES
|
||||
IF_ELSE(220)((it was, non - zero))(it was zero) // Expands to "non Zero"
|
||||
//if else 220
|
||||
IF_ELSE(220)((it was, non - zero))(it was zero) // Expands to "it was, non Zero"
|
||||
//if 06
|
||||
IF(06)(NONZERO)
|
||||
#endif
|
||||
|
||||
|
||||
#if 0
|
||||
/*
|
||||
* When
|
||||
*/
|
||||
@@ -512,7 +575,11 @@ IF_VA(NOT(IS_EMPTY(A)))/*
|
||||
* that the first argument exists.
|
||||
* @return TRUE/FALSE
|
||||
*/
|
||||
#define HAS_ARGS(a) BOOL(EXPAND(_END_OF_ARGUMENTS_ FIRST(a)()))
|
||||
#ifdef __sgi
|
||||
# define HAS_ARGS(a) BOOL(EXPAND(_END_OF_ARGUMENTS_ FIRST(a)()))
|
||||
#else
|
||||
# define HAS_ARGS(...) BOOL(FIRST(__VA_ARGS__))
|
||||
#endif
|
||||
#define _END_OF_ARGUMENTS_() 0
|
||||
|
||||
/*
|
||||
@@ -535,8 +602,9 @@ HAS_ARGS((a, b, c))
|
||||
//no
|
||||
HAS_ARGS()
|
||||
HAS_ARGS(())
|
||||
HAS_ARGS(( ()))
|
||||
|
||||
HAS_ARGS(( ())) //this one has too many parens
|
||||
#endif
|
||||
#if 0
|
||||
# define test() Im expanded
|
||||
DEFER8(test)() EVAL1(EVAL4(DEFER4(test)()))
|
||||
|
||||
@@ -545,7 +613,7 @@ HAS_ARGS(( ()))
|
||||
// RECURSE
|
||||
EVAL16(RECURSE((this, is, a, test, WITH, MANY, ARGS)))
|
||||
#endif
|
||||
|
||||
#ifdef __sgi
|
||||
#define COUNTPARAMS(X) \
|
||||
IF_ELSE(IS_PAREN(X)) /*
|
||||
*/( /*
|
||||
@@ -563,22 +631,37 @@ HAS_ARGS(( ()))
|
||||
*/COUNT /*
|
||||
*/)
|
||||
# define _COUNTPARMS() COUNTPARAMS_INNER
|
||||
|
||||
#else
|
||||
# define ELEVENTH_ARGUMENT(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, ...) a11
|
||||
# define COUNTPARAMS(...) IF_ELSE(IS_PAREN(__VA_ARGS__))(_COUNTPARAMS __VA_ARGS__)(ELEVENTH_ARGUMENT(dummy, ##__VA_ARGS__, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0))
|
||||
# define _COUNTPARAMS(...) ELEVENTH_ARGUMENT(dummy, ##__VA_ARGS__, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
|
||||
#endif
|
||||
|
||||
#ifdef EXPAND_EXAMPLES
|
||||
// COUNTPARAMS - IT WORKS!!!, THIS WILL BE GREAT FOR AI
|
||||
//0
|
||||
COUNTPARAMS(())
|
||||
//1
|
||||
COUNTPARAMS((A))
|
||||
// 2
|
||||
COUNTPARAMS((A, B))
|
||||
// 3
|
||||
COUNTPARAMS((A, B, C))
|
||||
// 4
|
||||
COUNTPARAMS((A, B, C, D))
|
||||
// 5
|
||||
COUNTPARAMS((A, B, C, D, E))
|
||||
// 6
|
||||
COUNTPARAMS((A, B, C, D, E, F))
|
||||
// 7
|
||||
COUNTPARAMS((A, B, C, D, E, F, G))
|
||||
COUNTPARAMS((A, B, C, D, E, F,G,H))
|
||||
COUNTPARAMS((A, B, C, D, E, F,G,H,I))
|
||||
// 8
|
||||
COUNTPARAMS((A, B, C, D, E, F, G, H))
|
||||
// 9
|
||||
COUNTPARAMS((A, B, C, D, E, F, G, H, I))
|
||||
|
||||
#enAdif
|
||||
#endif
|
||||
#if 0
|
||||
#define LIST_TO_TUPLE(list) \
|
||||
IF_ELSE(IS_PAREN(list))\
|
||||
(\
|
||||
@@ -602,18 +685,19 @@ LIST_TO_TUPLE((this, (is, (a, (li8st, (lots, (of, (test, (another, )))))))))
|
||||
//SINGLE
|
||||
LIST_TO_TUPLE((this,(is)))
|
||||
|
||||
#endif
|
||||
|
||||
#define REPEAT(count, macro, a) \
|
||||
IF_ELSE(DEC(count)) \
|
||||
(DEFER3(REPEAT_INDIRECT)()(DEC(count), macro, a))( \
|
||||
/* Do nothing, just terminate */) DEFER(macro)(DEC(count), a)
|
||||
|
||||
#define REPEAT_INDIRECT() REPEAT
|
||||
|
||||
#ifdAef EXPAND_EXAMPLES
|
||||
// An example of using this macro
|
||||
#ifdef EXPAND_EXAMPLES
|
||||
// An example of repeat 9
|
||||
# define M(i, _) i
|
||||
EVAL16(REPEAT(9, M, ~)) // 0 1 2 3 4 5 6 7
|
||||
#endiAf
|
||||
EVAL16(REPEAT(9, M, ~)) // 0 1 2 3 4 5 6 7 8
|
||||
#endif
|
||||
|
||||
#define WHILE(pred, op, a) \
|
||||
IF(pred(a)) \
|
||||
@@ -649,4 +733,4 @@ LIST_TO_TUPLE((this,(is)))
|
||||
|
||||
/*MAP(MAKE_HAPPY, COMMA, (1,2,3,A))*/
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,206 @@
|
||||
all: $(APPROM)
|
||||
@if [ -f ge007.$(OUTCODE).sha1 ]; then \
|
||||
$(SHA1SUM) -c ge007.$(OUTCODE).sha1 && echo "\n MATCH!\n\n" || (echo "\n ERROR!\n\n\n NOT MATCH!\n\n" && exit 1); \
|
||||
fi
|
||||
@echo "\nRom File Generated in Build Directory. \n\n"
|
||||
|
||||
.SECONDARY:
|
||||
$(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) \
|
||||
$(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES)
|
||||
|
||||
ifeq ($(filter clean nuke dataclean help codeclean context cmdbuilder test stanclean setupclean,$(MAKECMDGOALS)),)
|
||||
# Dont print version on "default" since it will be spat out twice
|
||||
ifneq ($(filter $(VERSION),$(ALLOWED_VERSIONS)),)
|
||||
#$(info VERSION=$(VERSION))
|
||||
else
|
||||
$(error VERSION "$(VERSION)" not supported")
|
||||
endif
|
||||
# Make tools if out of date
|
||||
$(info Building tools...)
|
||||
DUMMY != make -s -C tools >&2 || echo FAIL
|
||||
ifeq ($(DUMMY),FAIL)
|
||||
$(error Failed to build tools)
|
||||
endif
|
||||
$(info Building $(VERSION) ROM...)
|
||||
|
||||
endif
|
||||
|
||||
# Build RSP
|
||||
$(BUILD_DIR)/rsp/%.bin: rsp/*.s
|
||||
$(ARMIPS) -sym $@.sym -strequ CODE_FILE $(BUILD_DIR)/rsp/$*.bin -strequ DATA_FILE $(BUILD_DIR)/rsp/$*_data.bin $<
|
||||
|
||||
$(BUILD_DIR)/src/rspboot.o: $(BUILD_DIR)/rsp/rspboot.bin
|
||||
|
||||
#Build asm files in root
|
||||
$(BUILD_DIR)/%.o: src/%.s
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
#Build asm files in src/
|
||||
$(BUILD_DIR)/src/%.o: src/%.s
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
#Build Images
|
||||
$(BUILD_DIR)/assets/images/split/%.o: assets/images/split/%.bin
|
||||
$(LD) -r -b binary $< -o $@
|
||||
|
||||
#Compress Obseg
|
||||
$(BUILD_DIR)/$(OBSEGMENT): $(OBSEG_RZ) $(IMAGE_OBJS)
|
||||
|
||||
|
||||
#Build C files in src/
|
||||
$(BUILD_DIR)/src/%.o: src/%.c
|
||||
@if grep -q 'GLOBAL_ASM(' $<; then \
|
||||
$(ASM_PREPROC) $(OPTIMIZATION) $< | $(CC) -c $(CFLAGS) tools/asm-processor/include-stdin.c -o $@ $(OPTIMIZATION); \
|
||||
$(ASM_PREPROC) $(OPTIMIZATION) $< --post-process $@ --assembler "$(AS) $(ASFLAGS)" --asm-prelude tools/asm-processor/prelude.s; \
|
||||
else \
|
||||
$(CC) -c $(CFLAGS) -o $@ $(OPTIMIZATION) $<; \
|
||||
fi
|
||||
|
||||
|
||||
#Build RamRom
|
||||
$(BUILD_DIR)/assets/ramrom/%.o: assets/ramrom/%.s
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
#Build fonts
|
||||
$(BUILD_DIR)/assets/font/%.o: assets/font/%.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $(OPTIMIZATION) $<
|
||||
|
||||
#Build asm files in assets/
|
||||
$(BUILD_DIR)/assets/%.o: assets/%.s
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
#Build Obseg
|
||||
$(BUILD_DIR)/assets/obseg/%.o: assets/obseg/%.s $(OBSEG_RZ)
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
#Build C files in assets/
|
||||
$(BUILD_DIR)/assets/%.o: assets/%.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $(OPTIMIZATION) $<
|
||||
|
||||
#$(BUILD_DIR)/src/random.o: OPTIMIZATION := -O3
|
||||
#$(BUILD_DIR)/src/random.o: INCLUDE := -I . -I include -I include/PR
|
||||
#$(BUILD_DIR)/src/random.o: MIPSISET := -mips3 -o32
|
||||
#$(BUILD_DIR)/src/random.o: src/random.c
|
||||
# $(CC) -c -Wab,-r4300_mul -non_shared -G 0 -Xcpluscomm $(CFLAGWARNING) -woff 819,820,852,821,838,649 -signed $(INCLUDE) $(MIPSISET) $(LCDEFS) -DTARGET_N64 $(OPTIMIZATION) -o $@ $<
|
||||
|
||||
#Link Files
|
||||
$(APPELF): $(RSPOBJECTS) $(ULTRAOBJECTS) $(HEADEROBJECTS) $(OBSEG_RZ) $(BUILD_DIR)/$(OBSEGMENT) $(MUSIC_RZ_FILES) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(ROMOBJECTS) $(ASSET_DATAOBJECTS) $(ROMOBJECTS2) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(OBSEG_OBJECTS) ge007.ld
|
||||
cpp $(LDFILEOPTS) -P ge007.ld -o build/ge007.$(OUTCODE).ld
|
||||
@echo "Linking Files into ELF"
|
||||
$(LD) $(LDFLAGS) -o $@
|
||||
|
||||
$(APPBIN): $(APPELF)
|
||||
@echo "Building ROM"
|
||||
$(OBJCOPY) $< $@ -O binary --gap-fill=0xff
|
||||
|
||||
$(APPROM): $(APPBIN)
|
||||
@echo "Compressing ROM"
|
||||
$(DATASEG_COMP) $< $(OUTCODE)
|
||||
@echo "Finalizing ROM"
|
||||
$(N64CKSUM) $< $@
|
||||
|
||||
.PRECIOUS: %.bin %.o
|
||||
|
||||
## Phony Recipies - Get Make to do something ##
|
||||
|
||||
|
||||
.PHONY: all default codeclean dataclean clean cmdbuilder test help
|
||||
|
||||
setupclean:
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(SETUP_BUILD_FILES)
|
||||
|
||||
stanclean:
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(STAN_BUILD_FILES)
|
||||
|
||||
libultraclean:
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(ULTRAOBJECTS)
|
||||
|
||||
codeclean:
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(RSPOBJECTS)
|
||||
|
||||
dataclean:
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES) \
|
||||
$(STAN_BUILD_FILES) $(SETUP_BUILD_FILES)
|
||||
|
||||
clean::
|
||||
# if this command is modified, make sure to update this in the `nuke` recipe.
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) \
|
||||
$(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES) $(RSPOBJECTS) \
|
||||
$(STAN_BUILD_FILES) $(SETUP_BUILD_FILES)
|
||||
|
||||
nuke:
|
||||
@echo deleting files specified from make clean ...
|
||||
@# if this command is modified, update the `clean` recipe above.
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) \
|
||||
$(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES) $(RSPOBJECTS) \
|
||||
$(STAN_BUILD_FILES) $(SETUP_BUILD_FILES)
|
||||
@echo
|
||||
@echo make: deleting build folders and files
|
||||
$(foreach x,$(ALLOWED_COUNTRYCODE),rm -r -f -d "$(BUILD_DIR_BASE)/$(x)/"${\n})
|
||||
@echo
|
||||
@echo make: deleting bin / rsp / asp
|
||||
rm -r -f -d "bin/"
|
||||
@echo
|
||||
@echo make: deleting assets
|
||||
rm -r -f -d "assets/images/split/"
|
||||
rm -r -f "assets/music/*.bin" "assets/obseg/bg/*.bin" "assets/obseg/brief/*.bin" "assets/obseg/chr/*.bin" "assets/obseg/gun/*.bin" "assets/obseg/prop/*.bin" "assets/obseg/setup/*.bin" "assets/obseg/setup/e/*.bin" "assets/obseg/setup/u/*.bin" "assets/obseg/setup/j/*.bin" "assets/obseg/stan/*.bin" "assets/obseg/text/*.bin" "assets/obseg/text/e/*.bin" "assets/obseg/text/u/*.bin" "assets/obseg/text/j/*.bin" "assets/ramrom/*.bin" "assets/ramrom/e/*.bin" "assets/ramrom/u/*.bin" "assets/ramrom/j/*.bin"
|
||||
|
||||
help:
|
||||
@echo "mmakefile help"
|
||||
@echo ""
|
||||
@echo " supported targets:"
|
||||
@echo ""
|
||||
@echo " all Build all (default)"
|
||||
@echo " clean Delete all known build artifacts"
|
||||
@echo " nuke Delete all files explicitly listed in Makefile (same as make clean),"
|
||||
@echo " all build output for all versions, any .bin file in assets folders,"
|
||||
@echo " and asp/rsp bin."
|
||||
@echo " dataclean Delete only asset build artifacts"
|
||||
@echo " codeclean Delete only code (asm, .c) build artifacts"
|
||||
@echo " libultraclean Delete only code (asm, .c) build artifacts "
|
||||
@echo " from Rare's libultra files"
|
||||
@echo " stanclean Delete only stan build artifacts"
|
||||
@echo " setupclean Delete only setup build artifacts"
|
||||
@echo " cmdbuilder BuildAI Commands"
|
||||
@echo " context [file] BuildContext File from [file]"
|
||||
@echo " eg make context src/game/chrai.c"
|
||||
@echo " test Re-Run Data Verification "
|
||||
@echo ""
|
||||
@echo ""
|
||||
@echo " options:"
|
||||
@echo ""
|
||||
@echo " VERSION=v Region version. (US is default)"
|
||||
@echo " Supported values: ${ALLOWED_VERSIONS}\n"
|
||||
|
||||
test:
|
||||
@$(SHA1SUM) --quiet -c checksums.txt
|
||||
|
||||
ifneq ($(filter-out context,$(MAKECMDGOALS)),)
|
||||
CONTEXTFILE := $(filter-out context ,$(MAKECMDGOALS))
|
||||
else
|
||||
CONTEXTFILE := build/ctx.c
|
||||
endif
|
||||
context:
|
||||
@clear
|
||||
@echo Building Context File [ctx.h] from $(CONTEXTFILE)
|
||||
@echo "#define TRUE 1" > build/ctx.h
|
||||
@echo "#define FALSE 0" >> build/ctx.h
|
||||
ifeq ($(CONTEXTFILE),build/ctx.c)
|
||||
@echo "#include <bondtypes.h>" > build/ctx.c
|
||||
endif
|
||||
@sed -n -E ':x /\\$$/ { N; s/\\\n//g ; bx };''/(^\s*#define)|(\\$$)/p; /(\\$$)/p;' src/bondconstants.h src/bondtypes.h $(CONTEXTFILE) >> build/ctx.h
|
||||
@$(CC) -c $(CFLAGS) $(CONTEXTFILE) -E > build/ctx2.h 2> /dev/null || (rm build/ctx2.h && exit 1)
|
||||
@sed -E '/^\s*$$/d' build/ctx2.h >> build/ctx.h
|
||||
@rm build/ctx.c build/ctx2.h || exit 0
|
||||
@echo You can find it in Build [build/ctx.h].
|
||||
|
||||
textures:
|
||||
$(foreach x,$(IMAGE_BINS),tools/mktex/build/tex2png $(x) assets/images/out ${\n})
|
||||
@@ -42,6 +42,8 @@ extern "C" {
|
||||
extern void osSyncPrintf(const char *fmt, ...);
|
||||
#define assert(EX) if(!(EX))osSyncPrintf("\n--- ASSERTION FAULT - %s - %s, line %d\n\n", # EX , __FILE__, __LINE__)
|
||||
|
||||
#define assertmsg(EX, MSG) if (!(EX)) osSyncPrintf(MSG)
|
||||
|
||||
// extern void __assert(const char *, const char *, int);
|
||||
// #ifdef __ANSI_CPP__
|
||||
// #define assert(EX) ((EX)?((void)0):__assert( # EX , __FILE__, __LINE__))
|
||||
|
||||
@@ -195,6 +195,12 @@
|
||||
_g->words.w0 = _SHIFTL(G_LOADTLUT, 24, 8) | _SHIFTL((a), 14, 10) | _SHIFTL((b), 2, 10); \
|
||||
_g->words.w1 = _SHIFTL(0x06, 24, 8) | _SHIFTL((c), 14, 10) | _SHIFTL((d), 2, 10); \
|
||||
}
|
||||
#define gDPLoadTLUT07(pkt, a, b, c, d) \
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)pkt; \
|
||||
_g->words.w0 = _SHIFTL(G_LOADTLUT, 24, 8) | _SHIFTL((a), 14, 10) | _SHIFTL((b), 2, 10); \
|
||||
_g->words.w1 = _SHIFTL(0x07, 24, 8) | _SHIFTL((c), 14, 10) | _SHIFTL((d), 2, 10); \
|
||||
}
|
||||
|
||||
#define gDPLoadTLUTCmd2(pkt, tile, count) \
|
||||
{ \
|
||||
|
||||
@@ -2,6 +2,18 @@
|
||||
|
||||
.macro glabel label
|
||||
.global \label
|
||||
.balign 4
|
||||
.type \label, @function
|
||||
\label:
|
||||
.endm
|
||||
|
||||
.macro dlabel label
|
||||
.global \label
|
||||
\label:
|
||||
.endm
|
||||
|
||||
.macro jlabel label
|
||||
.global \label
|
||||
.type \label, @function
|
||||
\label:
|
||||
.endm
|
||||
@@ -0,0 +1,82 @@
|
||||
|
||||
#Only Draw PBar if NOT verbose
|
||||
ifeq ($(VERBOSE),0)
|
||||
|
||||
# Separate "constant" drawing from variable drawing to speed up PBar rendering
|
||||
# draws a box and fills it grey ready for blue bar
|
||||
SetupProgressBar = \
|
||||
{ \
|
||||
str="$(SAVECURSOR)$(call SET_SCROLLREGION,4,0)$(call CURSOR_GOTO,2,999)$(VT_ED)$(call CURSOR_GOTO,1)";\
|
||||
str=$$str"\033(0lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk"; \
|
||||
str=$$str"\nx$(call SET_TEXTATTRIB,$(BG_GRAY))%78s$(RESTORECOLOUR)x\n"; \
|
||||
str=$$str"mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj\033(B"; \
|
||||
str=$$str"$(RESTORECURSOR)"; \
|
||||
printf $$str ""; \
|
||||
}
|
||||
|
||||
#(call DrawProgressBar,Percent)
|
||||
# OR
|
||||
#(call DrawProgressBar,NumberOfItemsDone,TotalNumberOfItems)
|
||||
# If second param is given, use it to work out a percentage.
|
||||
# divide the percentage into a 80 char long bar
|
||||
# paint the whole bar grey
|
||||
# paint the first half, then text, then second half.
|
||||
# clear colour codes
|
||||
DrawProgressBar = \
|
||||
{ \
|
||||
$(if $(2), \
|
||||
if [ "$(1)" -ne "$(2)" ]; \
|
||||
then \
|
||||
_pdone=`expr 100 / $(2) \* $(1)`; \
|
||||
else \
|
||||
_pdone=100; \
|
||||
fi \
|
||||
,_pdone=$(1) \
|
||||
); \
|
||||
pdone=`expr $$_pdone \* 74 / 100`; \
|
||||
pdoneb=0; \
|
||||
str="$(SAVECURSOR)$(call CURSOR_GOTO,2,2)";\
|
||||
str=$$str"$(call SET_TEXTATTRIB,$(BOLD),$(FG_WHITE),$(BG_NAVY))" ; \
|
||||
\
|
||||
if [ "$$pdone" -lt "36" ]; \
|
||||
then \
|
||||
str=$$str"%$${pdone}s"; \
|
||||
str=$$str"$(call SET_TEXTATTRIB,$(BG_GRAY))";\
|
||||
pdoneb=`expr 36 - $$pdone`; \
|
||||
str=$$str"%$${pdoneb}s%3d%%"; \
|
||||
else \
|
||||
pdoneb=`expr $$pdone - 36`; \
|
||||
str=$$str"%1s%35s%3d%%%$${pdoneb}s"; \
|
||||
fi; \
|
||||
str=$$str"$(RESTORECURSOR)$(RESTORECOLOUR)"; \
|
||||
printf $$str "" "" $$_pdone; \
|
||||
}
|
||||
# Increment Progress Bar From percentage (1), and increase by 1 every (2) seconds.
|
||||
# Continue doing so until calling process ends
|
||||
IncrementProgressBarFromAtRate = \
|
||||
{ \
|
||||
i=$(1); \
|
||||
while [ -d /proc/$$! ] && [ $$i -le 100 ]; do \
|
||||
$(call DrawProgressBar,$$i); \
|
||||
i=$$((i+1)); \
|
||||
sleep $(2); \
|
||||
done; \
|
||||
}
|
||||
endif #Verbose No Draw PBar
|
||||
|
||||
# Ask to continue
|
||||
# (1) Prompt,
|
||||
# (2) Do if Yes,
|
||||
# (3) Do if No [can be blank],
|
||||
# (4) Do if anything else [can be blank]
|
||||
# (5) Timeout [can be blank]
|
||||
ContinuePrompt = \
|
||||
{ \
|
||||
echo "$1 [y/n]"; \
|
||||
$(if $(5), readchr(){ old=$$(stty -g); stty raw -echo min 0 time 30; printf '%s' $$(dd bs=1 count=1 2>/dev/null); stty $$old;}; REPLY=$$(readchr) ,read REPLY ); \
|
||||
echo $$REPLY; case $$REPLY in \
|
||||
y|Y) $2;; \
|
||||
n|N) $3;; \
|
||||
*) $4;; \
|
||||
esac; \
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
|
||||
## VT100 Codes ##
|
||||
|
||||
SAVECURSOR := \0337\033[s
|
||||
RESTORECURSOR := \0338\033[u
|
||||
SET_SCROLLREGION = \033[$(1);$(2)r
|
||||
RESTORESCROLLREGION := \033[r
|
||||
RESTORESCROLLREGION2 = $(SAVECURSOR)$(RESTORESCROLLREGION)$(RESTORECURSOR)\033[1A
|
||||
CURSOR_GOTO = \033[$(1);$(2)H
|
||||
SET_TEXTATTRIB = \033[$(1)$(if $(2),;$(2))$(if $(3),;$(3))m
|
||||
BELL := \007
|
||||
VT_ED := \033[2J
|
||||
VT_CUU = \033[$(1)A
|
||||
VT_CUD = \033[$(1)B
|
||||
VT_CUF = \033[$(1)C
|
||||
VT_CUB = \033[$(1)D
|
||||
|
||||
#Attributes
|
||||
RESTORECOLOUR := \033[m
|
||||
BOLD := 1
|
||||
DIM := 2
|
||||
UNDERSCORE := 4
|
||||
BLINK := 5
|
||||
INVERT := 7
|
||||
HIDDEN := 8
|
||||
|
||||
#Colours
|
||||
FG_BLACK:= 30
|
||||
FG_MAROON:= 31
|
||||
FG_GREEN:= 32
|
||||
FG_OLIVE:= 33
|
||||
FG_NAVY:= 34
|
||||
FG_PURPLE:= 35
|
||||
FG_TEAL:= 36
|
||||
FG_SILVER:= 37
|
||||
FG_GRAY:= 90
|
||||
FG_RED:= 91
|
||||
FG_LIME:= 92
|
||||
FG_YELLOW:= 93
|
||||
FG_BLUE:= 94
|
||||
FG_VIOLET:= 95
|
||||
FG_CYAN:= 96
|
||||
FG_WHITE:= 97
|
||||
|
||||
BG_BLACK:= 40
|
||||
BG_MAROON:= 41
|
||||
BG_GREEN:= 42
|
||||
BG_OLIVE:= 43
|
||||
BG_NAVY:= 44
|
||||
BG_PURPLE:= 45
|
||||
BG_TEAL:= 46
|
||||
BG_SILVER:= 47
|
||||
BG_GRAY:= 100
|
||||
BG_RED:= 101
|
||||
BG_LIME:= 102
|
||||
BG_YELLOW:= 103
|
||||
BG_BLUE:= 104
|
||||
BG_VIOLET:= 105
|
||||
BG_CYAN:= 106
|
||||
BG_WHITE:= 107
|
||||
|
||||
# define a "newline" variable to be used in make scripts
|
||||
# use with ${\n}
|
||||
# https://stackoverflow.com/questions/12528637/how-do-i-execute-each-command-in-a-list
|
||||
define \n
|
||||
|
||||
|
||||
endef
|
||||
#end newline.
|
||||
|
||||
#Colour IDO Output (GCC does this automatically)
|
||||
CLR_OUT := sed -E
|
||||
#colour AI errors
|
||||
CLR_OUT += -e 's/\(\(\x27E\x27\,\x27R\x27\,\x27R\x27\,\x27O\x27\,\x27R\x27,\s?((\x27?,?\s?\x27.)*)\x27,\s?\x27([^x27])\x27\)/((\x27ERROR\x27,\1\3\x27\)/g; :loop s/\(\((\x27ERROR)((\x27?,?\s?\x27.)*),?\s?\x27(.)\x27([^x27]*)\x27\)/((\1\2\5\x27\)/g; tloop; '
|
||||
#colour errors
|
||||
CLR_OUT += -e "s/(ERROR:[^\x27]*?\x27)|(^.*[Ee]rror.*)|(Mis-Match in)|(:\sFAILED)/$$(echo "$(call SET_TEXTATTRIB,$(FG_RED))")&$$(echo "$(RESTORECOLOUR)")/g"
|
||||
#colour warnings
|
||||
CLR_OUT += -e "s/^.*[Ww]arning.*/$$(echo "$(call SET_TEXTATTRIB,$(FG_YELLOW))")&$$(echo "$(RESTORECOLOUR)")/g"
|
||||
#colour Info Tags
|
||||
CLR_OUT += -e "s/^.*(([Bb]uilding)|(:\sOK)|([Ll]inkin)).*/$$(echo "$(call SET_TEXTATTRIB,$(FG_LIME))")&$$(echo "$(RESTORECOLOUR)")/g"
|
||||
#colour filenames
|
||||
CLR_OUT += -e "s/((([^\/]*([^s][^t][^d][^i][^n])\.c)|([^\/]*\.o))\s)/$$(echo "$(call SET_TEXTATTRIB,$(FG_WHITE))")&$$(echo "$(RESTORECOLOUR)")/g"
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
################################################################################
|
||||
# CMD Builder
|
||||
################################################################################
|
||||
|
||||
#CMD Builder tools
|
||||
AI_CMD_BUILDER := $(TOOLS_DIR)/cmdbuilder.c
|
||||
AI_CMD_LIST_DEFINITIONS := src/aicommands.def
|
||||
AI_CMD_LIST_TEMP := $(BUILD_DIR)/aicommands.temp
|
||||
AI_CMD_LIST_H2 := src/aicommands2.h
|
||||
#Pre-Format encoding newlines and tags
|
||||
AI_CMD_BUILDER_PRECONVERT := sed -E
|
||||
AI_CMD_BUILDER_PRECONVERT += -e 's/\x27\\n\x27/\x27\/n\x27/g;' # encode '\n' as '/n' (TEXT PRINT command)
|
||||
AI_CMD_BUILDER_PRECONVERT += -e '/^\s*\*/ s/\x27/\?\?x27/g;' # encode DocBlock(/**...**/) quotes '' as x27
|
||||
AI_CMD_BUILDER_PRECONVERT += -e '/\/\*\*/ , /\*\// s/([^/])$$/\1 \\n\\/g;' # encode DocBlock(/**...**/) Newlines as \n\ .
|
||||
#AI_CMD_BUILDER_PRECONVERT += -e '/^\s*\*/ s/([^\/])$$/\1 \\n\\/g;' # encode DocBlock(/**...**/) Newlines as \n\ .
|
||||
AI_CMD_BUILDER_PRECONVERT += -e 's/[^/\*\S]\*$$/\\n\\/g; s/^(\s*)\*[^/\*]/\1 /g;' # remove DocBlock sides (causes problems with tooltips) fixed to check for ordinary comment
|
||||
#AI_CMD_BUILDER_PRECONVERT += -e '/^_AI_CMD_POLYMORPH\(CMDNAME,\n(.|\n)*?\s{19}DESCRIPTION(\)| DESCRIPTION2\))/ s/[^,]\n/\\n\\/g;' # Newlines in POLYMORPHS
|
||||
AI_CMD_BUILDER_PRECONVERT += -e 's/\/\*\*/\?\?\\\*\(\*\*/g;' # encode /** as ??\*(**
|
||||
AI_CMD_BUILDER_PRECONVERT += -e 's/\*\*\//\*\*\)\*\?\?\\ /g;' # encode **/ as **)*??\
|
||||
|
||||
#Format Newlines and Comment tags
|
||||
AI_CMD_BUILDER_CONVERT := sed -E
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\\n/\n/g;' # add newlines
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\?{2}\=/\#/g;' # replace ??= with hash for defines
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\?{2}\\/\//g;' # replace ??\ with /
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/DEFINE([^D])/\#define\1/g;' # replace DEFINE with #define
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\\.*/\\/g;' # replace \... with \ (line continuation)
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\*\(\*/\*/g;' # replace *(* with *
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\*\)\*/\*/g;' # replace *)* with *
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/MAKE_EXPAND\(([^\n]*)MAKE_EXPAND_END\)/\1/g;' # replace MAKE_EXPAND(CONTENTS) with CONTENTS
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\?{2}x27/\x27/g;' # replace ??x27 with '
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/\x27\/n\x27/\x27\\n\x27/g;' # replace '/n' with '\n'
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/AI_EndList\s*,/AI_EndList/g;' # replace AI_EndList , with AI_EndList
|
||||
AI_CMD_BUILDER_CONVERT += -e 's/ *(,|;) */\1 /g; ' # remove spaces
|
||||
AI_CMD_BUILDER_CONVERT += -e '/define (AICMDSIZE)|(AI.*_LENGTH)/! s/define ([^ ]*) *\( *([^ ]*)/define \1(\2/g; ' # for each command, remove the space so macro is read as a function
|
||||
AI_CMD_BUILDER_CONVERT += -e '/^typedef/ s/\}/\n\}/g; /^typedef/ s/(; |\{)/\1\n /g;' # for each typedef, break into ALLMAN
|
||||
AI_CMD_BUILDER_CONVERT += -e '/^typedef/ s/(\{)/\n\1/g; /^\s*AI_/ s/,/,\\\n /g' # for each command, break into a list
|
||||
AI_CMD_BUILDER_CONVERT += -e '/^ *$$/d; s/ *\n/\n/g;' # remove surplus newlines
|
||||
|
||||
AI_CMD_LIST_H2_HEADER := \
|
||||
"/******************************************************************************\n\
|
||||
* *\n\
|
||||
* *\n\
|
||||
* Do not edit this file. It was automatically generated by \"cmdbuilder\" *\n\
|
||||
* from the file \"$(AI_CMD_LIST_DEFINITIONS)\". *\n\
|
||||
* To Add/Remove/Modify AI Commands please edit \"$(AI_CMD_LIST_DEFINITIONS)\" *\n\
|
||||
* and then run *\n\
|
||||
* make cmdbuilder *\n\
|
||||
* *\n\
|
||||
* *\n\
|
||||
*****************************************************************************/\n\n"
|
||||
|
||||
|
||||
cmdbuilder:
|
||||
@clear
|
||||
@echo
|
||||
@echo Building AI Command Macros...
|
||||
@echo
|
||||
@$(call SetupProgressBar)
|
||||
@$(call DrawProgressBar,0)
|
||||
@ # copy command definitions to temp
|
||||
@cp $(AI_CMD_LIST_DEFINITIONS) $(AI_CMD_LIST_TEMP)
|
||||
@$(call DrawProgressBar,5)
|
||||
@ # Preformat Definitions for builder (encode documentation tags)
|
||||
@$(call PRINT_STATUS,"Pre Formatting",$(AI_CMD_LIST_DEFINITIONS))
|
||||
@$(AI_CMD_BUILDER_PRECONVERT) $(AI_CMD_LIST_TEMP) > $(AI_CMD_LIST_DEFINITIONS)
|
||||
@$(call DrawProgressBar,10)
|
||||
@ # Print Header
|
||||
@echo $(AI_CMD_LIST_H2_HEADER) > $(AI_CMD_LIST_H2)
|
||||
@$(call DrawProgressBar,11)
|
||||
@ # Execute Builder and format (re-add newlines, documentation tags etc) -C keeps /**/ comments
|
||||
@$(call PRINT_STATUS,"Processing",$(AI_CMD_LIST_DEFINITIONS))
|
||||
@echo This might take some time...
|
||||
@$(CC) -Xcpluscomm -c $(AI_CMD_BUILDER) $(INCLUDE) -w 581 -E | $(AI_CMD_BUILDER_CONVERT) >> $(AI_CMD_LIST_H2) || (cp $(AI_CMD_LIST_TEMP) $(AI_CMD_LIST_DEFINITIONS) ; echo Error with cmdbuilder ; false) & $(call IncrementProgressBarFromAtRate,12,0.5)
|
||||
@$(call DrawProgressBar,98)
|
||||
@ # restore command def from temp (no encoding)
|
||||
@cp $(AI_CMD_LIST_TEMP) $(AI_CMD_LIST_DEFINITIONS)
|
||||
@$(call DrawProgressBar,99)
|
||||
@rm $(AI_CMD_LIST_TEMP)
|
||||
@$(call DrawProgressBar,100)
|
||||
@echo
|
||||
@echo Done!
|
||||
@echo
|
||||
@echo Rebuild AI Command Macros whenever changing aicommands.def.
|
||||
@echo "\n$(BELL)$(RESTORESCROLLREGION2)"
|
||||
|
||||
+1
-1
@@ -125,7 +125,7 @@
|
||||
build/OUTCODE/src/game/indy_commands.o (.bss);
|
||||
build/OUTCODE/src/game/game_debug.o (.bss);
|
||||
build/OUTCODE/src/game/compiletime.o (.bss);
|
||||
build/OUTCODE/src/game/unk_0D1AC0.o (.bss);
|
||||
build/OUTCODE/src/game/speedgraphrenderer.o (.bss);
|
||||
build/OUTCODE/src/game/viewport.o (.bss);
|
||||
build/OUTCODE/src/game/music_0D2720.o (.bss);
|
||||
#ifndef VERSION_EU
|
||||
|
||||
+1
-1
@@ -125,7 +125,7 @@
|
||||
build/OUTCODE/src/game/indy_commands.o (.data);
|
||||
build/OUTCODE/src/game/game_debug.o (.data);
|
||||
build/OUTCODE/src/game/compiletime.o (.data);
|
||||
build/OUTCODE/src/game/unk_0D1AC0.o (.data);
|
||||
build/OUTCODE/src/game/speedgraphrenderer.o (.data);
|
||||
build/OUTCODE/src/game/viewport.o (.data);
|
||||
build/OUTCODE/src/game/music_0D2720.o (.data);
|
||||
#ifndef VERSION_EU
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
build/OUTCODE/src/game/indy_commands.o (.rodata);
|
||||
build/OUTCODE/src/game/game_debug.o (.rodata);
|
||||
build/OUTCODE/src/game/compiletime.o (.rodata);
|
||||
build/OUTCODE/src/game/unk_0D1AC0.o (.rodata);
|
||||
build/OUTCODE/src/game/speedgraphrenderer.o (.rodata);
|
||||
build/OUTCODE/src/game/viewport.o (.rodata);
|
||||
build/OUTCODE/src/game/music_0D2720.o (.rodata);
|
||||
#ifndef VERSION_EU
|
||||
|
||||
+1
-1
@@ -125,7 +125,7 @@
|
||||
build/OUTCODE/src/game/indy_commands.o (.text);
|
||||
build/OUTCODE/src/game/game_debug.o (.text);
|
||||
build/OUTCODE/src/game/compiletime.o (.text);
|
||||
build/OUTCODE/src/game/unk_0D1AC0.o (.text);
|
||||
build/OUTCODE/src/game/speedgraphrenderer.o (.text);
|
||||
build/OUTCODE/src/game/viewport.o (.text);
|
||||
build/OUTCODE/src/game/music_0D2720.o (.text);
|
||||
#ifndef VERSION_EU
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ The c compiler can be found in `tools/irix/root/usr/bin/cc`. This splits the com
|
||||
|
||||
# Assembly Preprocessor
|
||||
|
||||
There is a (much forked) preprocessor used by many N64 projects, found in `tools/asmpreproc/asm-processor.py`. This searches for a line
|
||||
There is a (much forked) preprocessor used by many N64 projects, found in `tools/asm-processor/asm_processor.py`. This searches for a line
|
||||
beginning with `GLOBAL_ASM(` and a subsequent line beginning with `)` and treats everything in between as assembly. This is bundled with any
|
||||
c code in the file and sent to the compiler.
|
||||
|
||||
@@ -53,7 +53,7 @@ in `assets/obseg/ob_seg.s` and music is bundled in `assets/music/music.s`.
|
||||
|
||||
Once all code and assets are compiled into .o files, these are combined into one .elf file. The layout of the object files
|
||||
is given by the `ge007.*.ld` files in the root of the project. For a list of individual methods, assets, and files see
|
||||
the map file in `build/ge007.*.map` (where `*` is the country code, `u`, `e`, or `j`).
|
||||
the map file in `build/[uje]/ge007.*.map` (where `*` is the country code, `u`, `e`, or `j`).
|
||||
|
||||
The toolchain `-objcopy` program is then used to create the bundled .bin of the entire ROM.
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ If you don't have host development tools already installed then you will also ne
|
||||
sudo apt-get install build-essential
|
||||
```
|
||||
|
||||
Optionally [qemu-irix](https://github.com/n64decomp/qemu-irix/releases) is needed. Download the package to a desired location and install with:
|
||||
Additionally [qemu-irix](https://github.com/n64decomp/qemu-irix/releases) is needed. Download the package to a desired location and install with:
|
||||
|
||||
```bash
|
||||
sudo dpkg -i qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb
|
||||
@@ -73,7 +73,7 @@ Place an unmodified copy of your existing NTSC (US) ROM inside the root of this
|
||||
To extract the baserom assets run:
|
||||
|
||||
```bash
|
||||
./extract_baserom.u.sh
|
||||
./scripts/extract_baserom.u.sh
|
||||
```
|
||||
|
||||
For JP and PAL (EU) versions support, place each existing ROM in the root of this repository with the name `baserom.<VERSION>.z64` (where `<VERSION>` is the country code, `j`, or `e`).
|
||||
@@ -83,30 +83,46 @@ Extracting NTSC (US) baserom assets is mandatory before extracting JP or PAL ass
|
||||
To extract JP assets run:
|
||||
|
||||
```bash
|
||||
./extract_baserom.u.sh && ./extract_diff.j.sh
|
||||
./scripts/extract_baserom.u.sh && ./scripts/extract_diff.j.sh
|
||||
```
|
||||
|
||||
To extract PAL assets run:
|
||||
|
||||
```bash
|
||||
./extract_baserom.u.sh && ./extract_diff.e.sh
|
||||
./scripts/extract_baserom.u.sh && ./scripts/extract_diff.e.sh
|
||||
```
|
||||
|
||||
Other options to extract baserom assets or extract diff:
|
||||
|
||||
```bash
|
||||
./extract_baserom.u.sh /path_to/rom.n64 # ROM in another directory
|
||||
./extract_baserom.u.sh /mnt/e/Goldeneye.n64 # ROM located on EverDrive
|
||||
./extract_baserom.u.sh files # Extract files only
|
||||
./extract_baserom.u.sh images # Extract images only
|
||||
./scripts/extract_baserom.u.sh /path_to/rom.n64 # ROM in another directory
|
||||
./scripts/extract_baserom.u.sh /mnt/e/Goldeneye.n64 # ROM located on EverDrive
|
||||
./scripts/extract_baserom.u.sh files # Extract files only
|
||||
./scripts/extract_baserom.u.sh images # Extract images only
|
||||
```
|
||||
|
||||
Note: If you are upgrading from an old repository, run:
|
||||
|
||||
```bash
|
||||
./clean_baserom.sh && ./extract_baserom.u.sh && make clean
|
||||
./scripts/clean_baserom.sh && ./scripts/extract_baserom.u.sh && make clean
|
||||
```
|
||||
|
||||
### Install using Docker (compatible with Apple silicon Macs)
|
||||
|
||||
Once the Docker service is running on your computer (you must have Docker installed), clone the GoldenEye repo where you'd like to have it (Step 2 of the previous section).
|
||||
|
||||
Build the image: `docker build -t goldeneye .`
|
||||
|
||||
`cd` to your cloned `goldeneye_src` repo's directory. You can change `$(pwd)` below to the absolute path of your directory if you don't want to do this.
|
||||
|
||||
Connect to the container: `docker run --rm -it -v $(pwd):/home/dev goldeneye`
|
||||
|
||||
All what's left is to go through Steps 3 and 4 of the previous section.
|
||||
|
||||
Be careful! If you previously compiled GoldenEye on another system (differente OS or CPU architecture), the binaries (gzip, n64cksum) that were compiled will be incompatible. You must delete them.
|
||||
|
||||
There may be a "dubious ownership" error from Git and it may say it fails to detect the Git repository. Running `git status`, it should tell you how to fix it.
|
||||
|
||||
## Build the ROM
|
||||
|
||||
Run `make` to build the ROM (defaults to `VERSION=US`).
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
Executable → Regular
File renamed without changes.
Executable → Regular
+1
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
# This file will delete all extracted *.bin files from a previous ./extract_baserom.sh (provided the csv has not changed!!!)
|
||||
if [ -z "$1" ]; then
|
||||
DOALL="1"
|
||||
echo "Processing Everything"
|
||||
Executable → Regular
File renamed without changes.
Executable → Regular
+3
-3
@@ -49,7 +49,7 @@ done
|
||||
if [ "$DOALL" == "1" ] || [ $1 == 'files' ]; then
|
||||
echo "Processing Files"
|
||||
if [ -x tools/extractor/extractor ]; then
|
||||
tools/extractor/extractor "$BASEROM" filelist.u.csv
|
||||
tools/extractor/extractor "$BASEROM" scripts/filelist.u.csv
|
||||
else
|
||||
while IFS=, read -r offset size name compressed extract
|
||||
do
|
||||
@@ -67,7 +67,7 @@ if [ "$DOALL" == "1" ] || [ $1 == 'files' ]; then
|
||||
else
|
||||
echo "skip $name"
|
||||
fi
|
||||
done < filelist.u.csv
|
||||
done < scripts/filelist.u.csv
|
||||
fi
|
||||
#filelist.u.csv should follow pattern of:
|
||||
#offset,size,name,compressed,extract
|
||||
@@ -93,4 +93,4 @@ if [ "$DOALL" == "1" ] || [ $1 == 'images' ]; then
|
||||
#and always end with a newline
|
||||
fi
|
||||
mkdir -p ./bin
|
||||
./extract_asp_gsp_rsp.sh
|
||||
./scripts/extract_asp_gsp_rsp.sh
|
||||
Executable → Regular
File renamed without changes.
Executable → Regular
+1
-1
@@ -25,7 +25,7 @@ if [ "$DOALL" == "1" ] || [ $1 == 'files' ]; then
|
||||
else
|
||||
echo "skip $name"
|
||||
fi
|
||||
done < filediff.e.csv
|
||||
done < scripts/filediff.e.csv
|
||||
#filediff.e.csv should follow pattern of:
|
||||
#offset,size,name,compressed,extract
|
||||
#formatting matters, no comments, no extra lines, unix line endings only
|
||||
Executable → Regular
+1
-1
@@ -25,7 +25,7 @@ if [ "$DOALL" == "1" ] || [ $1 == 'files' ]; then
|
||||
else
|
||||
echo "skip $name"
|
||||
fi
|
||||
done < filediff.j.csv
|
||||
done < scripts/filediff.j.csv
|
||||
#filediff.j.csv should follow pattern of:
|
||||
#offset,size,name,compressed,extract
|
||||
#formatting matters, no comments, no extra lines, unix line endings only
|
||||
@@ -15,14 +15,14 @@
|
||||
5836336,105520,assets/obseg/bg/e/bg_pete_all_p.bin,0,1
|
||||
6806352,86256,assets/obseg/bg/e/bg_jun_all_p.bin,0,1
|
||||
1148512,46848,assets/ge007.e.118660.jfont_chardata.bin,0,0
|
||||
9000160,11680,assets/obseg/setup/e/Ump_setuparchZ.bin,1,1
|
||||
9000160,11680,assets/obseg/setup/e/Ump_setuparchZ.bin,1,0
|
||||
9124336,7216,assets/obseg/setup/e/UsetupcradZ.bin,1,0
|
||||
9168656,9040,assets/obseg/setup/e/UsetupdestZ.bin,1,1
|
||||
9177696,14096,assets/obseg/setup/e/UsetupjunZ.bin,1,1
|
||||
9191792,1520,assets/obseg/setup/e/UsetuplenZ.bin,1,1
|
||||
9262032,10944,assets/obseg/setup/e/UsetupsiloZ.bin,1,1
|
||||
9272976,10192,assets/obseg/setup/e/UsetupstatueZ.bin,1,1
|
||||
9283168,12864,assets/obseg/setup/e/UsetuptraZ.bin,1,1
|
||||
9168656,9040,assets/obseg/setup/e/UsetupdestZ.bin,1,0
|
||||
9177696,14096,assets/obseg/setup/e/UsetupjunZ.bin,1,0
|
||||
9191792,1520,assets/obseg/setup/e/UsetuplenZ.bin,1,0
|
||||
9262032,10944,assets/obseg/setup/e/UsetupsiloZ.bin,1,0
|
||||
9272976,10192,assets/obseg/setup/e/UsetupstatueZ.bin,1,0
|
||||
9283168,12864,assets/obseg/setup/e/UsetuptraZ.bin,1,0
|
||||
9296032,16,assets/obseg/text/e/LameE.bin,1,1
|
||||
9296048,16,assets/obseg/text/e/LameJ.bin,1,1
|
||||
9296064,16,assets/obseg/text/e/LameP.bin,1,1
|
||||
|
500 Internal Server Error
An error occurred: An error occurred Gitea Version: 28.2.0 |