Add zoinkity's GE Documentation

Former-commit-id: 7d2787a19252090ae40f1fd277d5077ca85018e9
This commit is contained in:
Larry 2016-11-16 09:54:11 -06:00
commit 021f957626
611 changed files with 1806 additions and 0 deletions

View File

@ -0,0 +1 @@
ea9ed69285c47ffa9168ab0a0e3c4cb3e55a5a42

View File

@ -0,0 +1 @@
1b0025926df2bb87042a47a2c2620820f2a581eb

View File

@ -0,0 +1 @@
d5a730b82e7960d0a2b469700e1e420245ef1fe8

View File

@ -0,0 +1 @@
12fdf935a5b4506da5761a59b7d9b358d5598713

View File

@ -0,0 +1 @@
11349fd507468f427dbf464ab0d964269a5bd304

View File

@ -0,0 +1 @@
e0816d9d7cdec41e654297d4a97f850f7d910d4a

View File

@ -0,0 +1,29 @@
7F00625C 3AD8C allocate and initialize 0x1E + A0 inventory entries for cur. player
accepts: A0= #additional inventory entries
LUI V0,8008
ADDIU V0,V0,A0B0
LW T7,0000 (V0) ;T7=cur.BONDdata
ADDIU SP,SP,FFE8
SW RA,0014 (SP)
ADDIU T6,A0,001E
SW T6,11E8 (T7) ;T6->BONDdata+11E8: max inventory items
LW T8,0000 (V0)
ADDIU A1,R0,0004 ;A1= bank 4
LW A0,11E8 (T8) ;A0=items.max
SLL T9,A0,0x2
ADDU T9,T9,A0
SLL T9,T9,0x2
ADDIU A0,T9,000F
ORI T0,A0,000F
JAL 70009720 ;V0=p->A0 bytes allocated in bank A1
XORI A0,T0,000F ;A0= 14*items.max
//7F0062A0: initialize player inventory
LUI T2,8008
LW T2,A0B0 (T2)
JAL 7F08BFF0 ;reinitialize player inventory
SW V0,11E4 (T2) ;V0->BONDdata+11E4: items.Pcur
//7F0062B0: return
LW RA,0014 (SP)
ADDIU SP,SP,0018
JR RA
NOP

View File

@ -0,0 +1 @@
be3b32738aa29adaf86f111136c315883a06f97f

View File

@ -0,0 +1 @@
2afb2f0179d035bdab85ab1c83e1b7c12a4b76b8

View File

@ -0,0 +1 @@
163329c699ca4d215233529c5633866b0e965eea

View File

@ -0,0 +1,20 @@
Object embedded in 21990: player gait
OBJ TABLE 8003C580 1B7F0:
00 01 0000 8003C5E0 00000000 00000000 00000000 8003C598
00 02 0000 8003C5F0 8003C580 00000000 00000000 8003C5B0
00 02 0000 8003C60C 8003C598 00000000 00000000 8003C5C8
00 02 0000 8003C628 8003C5B0 00000000 00000000 00000000
01 object 8003C5E0 1B850
00000001 8003C598 00000000 00000000
02 position 8003C5F0 1B860 static player position
00000000 00000000 00000000 0001 0002 FFFF FFFF 8003C5B0 00000000
02 position 8003C60C 1B87C x gait
3F96C81D 422493D6 00000000 0002 0003 FFFF FFFF 8003C5C8 00000000
02 position 8003C628 1B898 z gait
C024DDA0 43F036EA 00000000 0003 0000 FFFF FFFF 00000000 00000000

View File

@ -0,0 +1 @@
00e9c54e86e238fcb0c513945362dfda0d5f55f7

View File

@ -0,0 +1 @@
441d02294ea47b9dca3c4a4d357ecf0379fbf8b2

View File

@ -0,0 +1 @@
30891f24e077dfdfed60ad01a836f32d48f06a72

View File

@ -0,0 +1 @@
0c929bbfa9abafe5f4182eae042dc50246216dc4

View File

@ -0,0 +1 @@
27eb4d8d7d67b2e88455a1b2b7a232fe3b9f3fec

View File

@ -0,0 +1 @@
fdc5fcb68b0998e852a66aa7cfce959ee927e57f

View File

@ -0,0 +1 @@
3d330fe8837fd1ecc69e248c98806dae3b87f6a0

View File

@ -0,0 +1 @@
80e2daf3fdba733bee0372227960c261fba31aa3

View File

@ -0,0 +1 @@
997f1e8c3b835bb14f63c6be43112b7a8e9c3920

View File

@ -0,0 +1 @@
c3112abbeedfab4fbfff034e3af1bcc01d7cbbf0

View File

@ -0,0 +1 @@
37f28c147999bb31ba5cbe8f9f52951c1b9fec7a

View File

@ -0,0 +1 @@
70266869c3368097ed3a08722df3214a869c5e03

View File

@ -0,0 +1,18 @@
0x0 4 offset/pointer to portal vertex list
0x4 1 parent room
0x5 1 child room
0x6 1 flags
01
02
0x7 1 counter
F0 repeat counter
0F value
08 set if upper nibble set
Portals are defined by vertex tables at the given offset. These connect the parent room with the child room and are bi-directionally visable.
Byte 7:
F2= lower nibble / 2
if upper nibble set, F2+=F2

View File

@ -0,0 +1 @@
56f2e4e3a2a32f1866cdbb2b86dd94c37fa2c1bc

View File

@ -0,0 +1 @@
d653d26503495fcb899255a5e017f315e5518e3f

View File

@ -0,0 +1 @@
139b3c01bac87823d4c730f9fe324b19a6ff5ba2

View File

@ -0,0 +1 @@
3afb0179fdaffb1aa134cbfcad939ad5281e3e22

View File

@ -0,0 +1 @@
1a03af1b558e2860596c5d43d65397b79b4024ac

View File

@ -0,0 +1 @@
93c6b750ba5f70d1e796484cab432e16c4c631cf

View File

@ -0,0 +1 @@
95c2cdcba6ffbafdffac16e94b8cbcc252b8ec62

View File

@ -0,0 +1,15 @@
Object headers in Goldeneye are seperate from the object files themselves as in Perfect Dark. This consists of 0x20 of data, as opposed to 0x1C in Perfect Dark. GE uses the final field to indicate if the object has been loaded.
When an object is editted this data must be set! It indicates how many offsets, images, and whatnot are in the model, as well as the archetype.
0x0 4 RESERVED for runtime: offset to object table
0x4 4 GE - pointer to archetype; PD - archetype number
0x8 4 RESERVED for runtime: offset to object offset block
0xC 2 number of offset entries
0xE 2 number of object groups
0x10 4 [float] UNKNOWN floating point value
0x14 2 RESERVED for runtime: number of entries in table
0x16 2 number of image entries
0x18 4 RESERVED for runtime: offset to image declarations
0x1C 4 GE only - RESERVED for runtime: nonzero indicates model is loaded in memory

View File

@ -0,0 +1 @@
54334b1723adec264303edcaba215eace4e31d87

View File

@ -0,0 +1 @@
2233942cc08769cd3c264bc704bb69f84ee8eded

View File

@ -0,0 +1 @@
22fa61e6c1fee37b35b01a00536c6c9949433061

View File

@ -0,0 +1 @@
83e7da55678bb955a5a9de22a200df6a47070eeb

View File

@ -0,0 +1 @@
b11ec77e20514b4f48e3fce4e518b0145cc67811

View File

@ -0,0 +1 @@
303b29941ba396d2de1a882fce013dc1b5e4af83

View File

@ -0,0 +1 @@
58f387867e08533152e1c623afbbb3a708df23f8

View File

@ -0,0 +1 @@
6c730218e1d48441334c12cb68d6adad9611b90b

View File

@ -0,0 +1 @@
061beaf224e3a85f996dddec7617f0f0c3aefe9c

View File

@ -0,0 +1 @@
79c2f89167786bbbf167212c762763fc19d04ae4

View File

@ -0,0 +1 @@
dcb2a9f17d94831294f4e7939fd0b7b8a1d351c9

View File

@ -0,0 +1 @@
05a401b7928794cb29a61cd7cfa2d82630b6e648

View File

@ -0,0 +1 @@
203393d444e1d45ec2a7dd9e01e36f893724d0a3

View File

@ -0,0 +1 @@
3be7cbc1def58eae2ad13f307f91319782b3b044

View File

@ -0,0 +1,20 @@
0x180 large square plane, probably for flash effect or similar
0x198 same plane as 0x180, but mirrored
0x1E0 barrel, or at least something perfectly round
0x270 trigger guard
0x2B8 index finger for trigger
0x2E8 plane intersecting 0x180, possibly for the flash emanating from gun
0x318 fingers, connected to 0x468
0x330 grip of gun
0x390 tip of middle finger
0x3A8 tip of ring finger
0x3C0 tip of pinky finger
0x408 thumb
0x420 lower half of gun case
0x468 upper section of hand, wrapped around the grip
0x4B0 arm, leading to hand (0x468)
0x4C8 funny triangular bit, connecting gun case to grip
0x510 trigger (I think...)
0x558 top sliding part (upper)
0x570 top sliding part (lower)
0x588 notch on back of sliding part

View File

@ -0,0 +1 @@
528a086a804de254d7ee8823e4d40291591c3833

View File

@ -0,0 +1 @@
56d555c3991830091fb33ccc5ef44e19dd7664fc

View File

@ -0,0 +1 @@
60b4b5557390e41c266c0e388b0bb5e3468b8c52

View File

@ -0,0 +1,7 @@
0x0 float x position. + moves to character's left, - to character's right
0x4 float z position. + moves in front of character, - backward
0x8 float x size (width) width of image from side to side
0xC float z size (length) length of image from forward to back
first byte in object table indicates number of group commands expected

View File

@ -0,0 +1 @@
e7b42df50029f4cde979829aba13ce604000e748

View File

@ -0,0 +1 @@
d4bb605fc8e93a91d52aa2ea054fec099c799a96

View File

@ -0,0 +1 @@
0bc240af1fc4b73425830f2cf31d5cc3962bec22

View File

@ -0,0 +1 @@
5d688ada891664bb01ef3b1b354823cf5a4756a9

View File

@ -0,0 +1 @@
e4a19fdf1fac453b253f47e7a05cd5046bb83d91

View File

@ -0,0 +1 @@
9ade48be26dd1351b76b443ab121c68485851bb8

View File

@ -0,0 +1 @@
b62b4a22aa496f36a80c9228c09e8ff6a109a409

View File

@ -0,0 +1 @@
cc7c5c3f5cca32d675a959a699ee15acd015c50b

View File

@ -0,0 +1 @@
1ddd8c985fb5b60483b4cc5bcc5a726de5fd4b40

View File

@ -0,0 +1,25 @@
NTSC Skip Intros:
8102A932 0000
PAL Skip Intros:
81025E82 0000
NTSC Enable All Players:
81063BF0 8009
81063BF2 E360
D102B522 0002
81063BF2 3860
D102B522 0003
81063BF2 0DE0
D102B522 0004
81063BF0 8008
[note: use 4pl setup]
PAL Enable All Players:
81056DD0 8008
81056DD2 8EA0
D1026A72 0003
81056DD2 B910
D1026A72 0002
81056DD2 E380
[note: use 2pl NTSC setup]

View File

@ -0,0 +1 @@
225fd354a5fb7fd5deb8946863d22bc4586633a6

View File

@ -0,0 +1 @@
bf6a336fe8e4c262dabbd3c4bbcc95ab2b5cfaf7

View File

@ -0,0 +1 @@
6adb011615e511207feebef60a516afddaac0b83

View File

@ -0,0 +1 @@
7b9ead15d249f3eb18c0287736760a7f024fde80

View File

@ -0,0 +1 @@
5a499f4b8ab28ea1862ffec68decc5362c8a192b

View File

@ -0,0 +1 @@
4842d58d418f5baa8e07c48f9ae12c9b321a6c08

View File

@ -0,0 +1 @@
142fb83759bd3e5bb51d0d62422afa110742d66e

View File

@ -0,0 +1 @@
6000b97c18b4184b932b3cbe80897b5bdddbd538

View File

@ -0,0 +1 @@
b0021f7786214339473a6053920f6fee51255580

View File

@ -0,0 +1 @@
49cc0a29055b242fc5ac7fabe05f89ffdb7ce830

View File

@ -0,0 +1 @@
7c3b5510c3c3b8b9d8bf304892fe953fa1ae0086

View File

@ -0,0 +1 @@
fcccdb39a5d997f39ec1608b53330f451626caef

View File

@ -0,0 +1 @@
05c575ae5305badc61b8a150049a25f8f1ee6bf3

View File

@ -0,0 +1,9 @@
"Enable All Players (PAL)"
81056DD0 8008
81056DD2 8EA0
D1026A72 0002
81056DD2 E380
D1026A72 0003
81056DD2 B910

View File

@ -0,0 +1 @@
dff0967290417f9b90020495a81d41c945ad461a

View File

@ -0,0 +1 @@
17ca324ad72c4be2828e28b218e0fb9292481519

View File

@ -0,0 +1 @@
8c08178b75deb22621c38e5ff96962256f3a127c

View File

@ -0,0 +1 @@
16e5162a622cd92b0239564345fee82e0d26c80a

View File

@ -0,0 +1,16 @@
Trev Army - err, well they ALLLL COME, and keep on coming, too laggy,
ouromov doesn't come.
81357770 2402
81357772 0008
81357808 2404
8135780A 0413
Trev Army Better!
81357770 2402
81357772 0008
5000311C 0000
811CFE0A 0413
50000B1C 0000
811D0366 0413
5000041C 0000
811D055A 0413

View File

@ -0,0 +1,21 @@
70006968 7568 return to title screen from end of stage
ADDIU SP,SP,FFE8
SW RA,0014 (SP)
JAL 7000695C ;V0=stage#
NOP
ADDIU AT,R0,0036
BEQ V0,AT,7000699C ;branch if stage 36: Cuba
NOP
JAL 7F0574B8 ;V0= TRUE if objectives completed
NOP
BEQ V0,R0,7000699C ;branch if incomplete
NOP
JAL 7F01D39C ;
NOP
//7000699C: return to title and return
JAL 70006930 ;run title (0x5A to stage#)
NOP
LW RA,0014 (SP)
ADDIU SP,SP,0018
JR RA
NOP

View File

@ -0,0 +1 @@
21bb645aa6b139e5dcb77bb206b5b423c866d5dc

View File

@ -0,0 +1 @@
78ff90d3da23ad3385591332c142e0269551dda1

View File

@ -0,0 +1,10 @@
Gleaned from registration at 7F027360
Part# hit# type
7 2 body
8 1 head
F 2 body
64 4 weapon (other 1)
6E 5 hat (other 2)
!0 3 limb

View File

@ -0,0 +1 @@
dc5e4380ccdd73c99c3251e4a58dd47c449c0b37

View File

@ -0,0 +1 @@
748266bb734e08c7a972a6e627c999514748cc50

View File

@ -0,0 +1 @@
ce463191673674aa65ef36f4a234000bd3776c7a

View File

@ -0,0 +1 @@
3c4ab80a50072679d9ac50b6359700fd89a790a6

View File

@ -0,0 +1 @@
f01a5f25dea7877796a2faf98f3e29d0b46882d2

View File

@ -0,0 +1,51 @@
70004E2C 5A2C deb_c_debug
ADDIU SP,SP,FFE8
SW RA,0014 (SP)
LUI A0,8002
LUI A1,8003
ADDIU A1,A1,87B0 ;A1=800287B0: "deb_c_debug"
JAL 70004E60
ADDIU A0,A0,32E0 ;A0=800232E0:
JAL 70004EE0
NOP
LW RA,0014 (SP)
ADDIU SP,SP,0018
JR RA
NOP
70004E60 5A60
accepts: A0=p->???, A1=p->string
ADDIU SP,SP,FFE8
SW RA,0014 (SP)
SW A0,0018 (SP)
SW A1,001C (SP)
JAL 70004D20
OR A0,A1,R0 ;A0=A1: p->string
//70004E78:
BNEZ V0,70004E88
LW A0,001C (SP) ;A0=p->string
JAL 70004DE0
LW A1,0018 (SP)
//70004E88:
LW RA,0014 (SP)
ADDIU SP,SP,0018
JR RA
NOP
70004E98 5A98 parses table at @800232E8
always returns zero or loops indefinately
LUI V0,8002
LW V0,32E8 (V0) ;V0=800232E8:
BEQ V0,R0,70004EB4 ;branch if no entries
NOP
//70004EA8: parse table
LW V0,0000 (V0) ;V0=p->next entry:
BNEZL V0,70004EAC ;loop until it isn't zero
LW V0,0000 (V0)
//70004EB4: return
JR RA
NOP
70004EBC 5ABC unconditional return
JR RA
NOP

View File

@ -0,0 +1,28 @@
7000A29C AE9C debug memory table sort and merge function: generate list of allocated memory, sort and merge table, then generate a new list
ADDIU SP,SP,FFD8
SW RA,0024 (SP)
SW S2,0020 (SP)
SW S1,001C (SP)
JAL 7000A100 ;generate ordered list of allocated memory blocks
SW S0,0018 (SP)
//7000A2B4: sort allocation table A0
LUI S1,8006
ADDIU S1,S1,3C28 ;S1=80063C28: table of memory allocations
OR S0,R0,R0 ;S0=0 count=0
ADDIU S2,R0,01FC ;S2=1FC
//7000A2C4: loop for each possible entry
JAL 70009A50 ;sort and merge entries in allocation table A0
OR A0,S1,R0 ;A0=S1: p->allocation table
ADDIU S0,S0,0001 ;S0++ count++
BNE S0,S2,7000A2C4 ;loop 0x1FC times
NOP
//7000A2D8:
JAL 7000A100 ;generate ordered list of allocated memory blocks
NOP
//7000A2E0: return
LW RA,0024 (SP)
LW S0,0018 (SP)
LW S1,001C (SP)
LW S2,0020 (SP)
JR RA
ADDIU SP,SP,0028

View File

@ -0,0 +1,37 @@
7000AF00 BB00 reset stderr
ADDIU SP,SP,FFD8
SW S3,0020 (SP)
SW S2,001C (SP)
SW S1,0018 (SP)
SW RA,0024 (SP)
SW S0,0014 (SP)
ADDIU S1,R0,0050 ;S1=0x50
OR S2,R0,R0 ;S2=0 #lines
ADDIU S3,R0,0023 ;S3=0x23
OR S0,R0,R0 ;S0=0 #entries per line
//7000AF28: clear stderr
OR A0,S0,R0 ;A0=S0: x pos
OR A1,S2,R0 ;A1=S2: y pos
JAL 7000ADD0 ;place character A2 in screen pos (A0,A1)
OR A2,R0,R0 ;A2=0: NULL
ADDIU S0,S0,0001
BNEL S0,S1,7000AF2C ;write 80 NULLs per line
OR A0,S0,R0
ADDIU S2,S2,0001
BNEL S2,S3,7000AF28 ;write NULLs in 35 lines
OR S0,R0,R0
//7000AF50: print the displays
JAL 7000AEDC ;copy debug menu position offsets to text positions
NOP
JAL 7000ADA0 ;unconditional return
NOP
//7000AF60: return
LW RA,0024 (SP)
LUI AT,8002
LW S0,0014 (SP)
LW S1,0018 (SP)
LW S2,001C (SP)
LW S3,0020 (SP)
SW R0,6810 (AT) ;0->80026810:
JR RA
ADDIU SP,SP,0028

View File

@ -0,0 +1 @@
1621f658b9f77d5de290af05a6ad8e4f7559322a

View File

@ -0,0 +1 @@
6dc671260f2bc46acf7c14b4942aca5d0ac6a218

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