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
@@ -0,0 +1 @@
ea9ed69285c47ffa9168ab0a0e3c4cb3e55a5a42
@@ -0,0 +1 @@
1b0025926df2bb87042a47a2c2620820f2a581eb
@@ -0,0 +1 @@
d5a730b82e7960d0a2b469700e1e420245ef1fe8
@@ -0,0 +1 @@
087c2f57e060b1ca058fa432dfc33e9e6b2a0d3b
@@ -0,0 +1 @@
12fdf935a5b4506da5761a59b7d9b358d5598713
@@ -0,0 +1 @@
11349fd507468f427dbf464ab0d964269a5bd304
@@ -0,0 +1 @@
e0816d9d7cdec41e654297d4a97f850f7d910d4a
@@ -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
@@ -0,0 +1 @@
be3b32738aa29adaf86f111136c315883a06f97f
@@ -0,0 +1 @@
2afb2f0179d035bdab85ab1c83e1b7c12a4b76b8
@@ -0,0 +1 @@
163329c699ca4d215233529c5633866b0e965eea
@@ -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
@@ -0,0 +1 @@
00e9c54e86e238fcb0c513945362dfda0d5f55f7
@@ -0,0 +1 @@
441d02294ea47b9dca3c4a4d357ecf0379fbf8b2
@@ -0,0 +1 @@
30891f24e077dfdfed60ad01a836f32d48f06a72
@@ -0,0 +1 @@
0c929bbfa9abafe5f4182eae042dc50246216dc4
@@ -0,0 +1 @@
27eb4d8d7d67b2e88455a1b2b7a232fe3b9f3fec
@@ -0,0 +1 @@
fdc5fcb68b0998e852a66aa7cfce959ee927e57f
@@ -0,0 +1 @@
3d330fe8837fd1ecc69e248c98806dae3b87f6a0
@@ -0,0 +1 @@
80e2daf3fdba733bee0372227960c261fba31aa3
@@ -0,0 +1 @@
997f1e8c3b835bb14f63c6be43112b7a8e9c3920
@@ -0,0 +1 @@
c3112abbeedfab4fbfff034e3af1bcc01d7cbbf0
@@ -0,0 +1 @@
37f28c147999bb31ba5cbe8f9f52951c1b9fec7a
@@ -0,0 +1 @@
70266869c3368097ed3a08722df3214a869c5e03
@@ -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
@@ -0,0 +1 @@
56f2e4e3a2a32f1866cdbb2b86dd94c37fa2c1bc
@@ -0,0 +1 @@
d653d26503495fcb899255a5e017f315e5518e3f
@@ -0,0 +1 @@
139b3c01bac87823d4c730f9fe324b19a6ff5ba2
@@ -0,0 +1 @@
3afb0179fdaffb1aa134cbfcad939ad5281e3e22
@@ -0,0 +1 @@
1a03af1b558e2860596c5d43d65397b79b4024ac
@@ -0,0 +1 @@
93c6b750ba5f70d1e796484cab432e16c4c631cf
@@ -0,0 +1 @@
95c2cdcba6ffbafdffac16e94b8cbcc252b8ec62
@@ -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
@@ -0,0 +1 @@
54334b1723adec264303edcaba215eace4e31d87
@@ -0,0 +1 @@
2233942cc08769cd3c264bc704bb69f84ee8eded
@@ -0,0 +1 @@
22fa61e6c1fee37b35b01a00536c6c9949433061
@@ -0,0 +1 @@
83e7da55678bb955a5a9de22a200df6a47070eeb
@@ -0,0 +1 @@
b11ec77e20514b4f48e3fce4e518b0145cc67811
@@ -0,0 +1 @@
303b29941ba396d2de1a882fce013dc1b5e4af83
@@ -0,0 +1 @@
58f387867e08533152e1c623afbbb3a708df23f8
@@ -0,0 +1 @@
6c730218e1d48441334c12cb68d6adad9611b90b
@@ -0,0 +1 @@
061beaf224e3a85f996dddec7617f0f0c3aefe9c
@@ -0,0 +1 @@
79c2f89167786bbbf167212c762763fc19d04ae4
@@ -0,0 +1 @@
dcb2a9f17d94831294f4e7939fd0b7b8a1d351c9
@@ -0,0 +1 @@
05a401b7928794cb29a61cd7cfa2d82630b6e648
@@ -0,0 +1 @@
203393d444e1d45ec2a7dd9e01e36f893724d0a3
@@ -0,0 +1 @@
3be7cbc1def58eae2ad13f307f91319782b3b044
@@ -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
@@ -0,0 +1 @@
528a086a804de254d7ee8823e4d40291591c3833
@@ -0,0 +1 @@
56d555c3991830091fb33ccc5ef44e19dd7664fc
@@ -0,0 +1 @@
60b4b5557390e41c266c0e388b0bb5e3468b8c52
@@ -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
@@ -0,0 +1 @@
e7b42df50029f4cde979829aba13ce604000e748
@@ -0,0 +1 @@
d4bb605fc8e93a91d52aa2ea054fec099c799a96
@@ -0,0 +1 @@
0bc240af1fc4b73425830f2cf31d5cc3962bec22
@@ -0,0 +1 @@
5d688ada891664bb01ef3b1b354823cf5a4756a9
@@ -0,0 +1 @@
e4a19fdf1fac453b253f47e7a05cd5046bb83d91
+1
View File
@@ -0,0 +1 @@
9ade48be26dd1351b76b443ab121c68485851bb8
@@ -0,0 +1 @@
b62b4a22aa496f36a80c9228c09e8ff6a109a409
@@ -0,0 +1 @@
cc7c5c3f5cca32d675a959a699ee15acd015c50b
@@ -0,0 +1 @@
1ddd8c985fb5b60483b4cc5bcc5a726de5fd4b40
@@ -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]
@@ -0,0 +1 @@
225fd354a5fb7fd5deb8946863d22bc4586633a6
@@ -0,0 +1 @@
bf6a336fe8e4c262dabbd3c4bbcc95ab2b5cfaf7
@@ -0,0 +1 @@
6adb011615e511207feebef60a516afddaac0b83
@@ -0,0 +1 @@
7b9ead15d249f3eb18c0287736760a7f024fde80
@@ -0,0 +1 @@
5a499f4b8ab28ea1862ffec68decc5362c8a192b
@@ -0,0 +1 @@
4842d58d418f5baa8e07c48f9ae12c9b321a6c08
@@ -0,0 +1 @@
142fb83759bd3e5bb51d0d62422afa110742d66e
@@ -0,0 +1 @@
6000b97c18b4184b932b3cbe80897b5bdddbd538
@@ -0,0 +1 @@
b0021f7786214339473a6053920f6fee51255580
@@ -0,0 +1 @@
49cc0a29055b242fc5ac7fabe05f89ffdb7ce830
@@ -0,0 +1 @@
7c3b5510c3c3b8b9d8bf304892fe953fa1ae0086
@@ -0,0 +1 @@
fcccdb39a5d997f39ec1608b53330f451626caef
@@ -0,0 +1 @@
05c575ae5305badc61b8a150049a25f8f1ee6bf3
@@ -0,0 +1,9 @@
"Enable All Players (PAL)"
81056DD0 8008
81056DD2 8EA0
D1026A72 0002
81056DD2 E380
D1026A72 0003
81056DD2 B910
@@ -0,0 +1 @@
dff0967290417f9b90020495a81d41c945ad461a
@@ -0,0 +1 @@
17ca324ad72c4be2828e28b218e0fb9292481519
@@ -0,0 +1 @@
8c08178b75deb22621c38e5ff96962256f3a127c
@@ -0,0 +1 @@
16e5162a622cd92b0239564345fee82e0d26c80a
@@ -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
@@ -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
@@ -0,0 +1 @@
21bb645aa6b139e5dcb77bb206b5b423c866d5dc
@@ -0,0 +1 @@
78ff90d3da23ad3385591332c142e0269551dda1
@@ -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
@@ -0,0 +1 @@
dc5e4380ccdd73c99c3251e4a58dd47c449c0b37
@@ -0,0 +1 @@
748266bb734e08c7a972a6e627c999514748cc50
@@ -0,0 +1 @@
ce463191673674aa65ef36f4a234000bd3776c7a
@@ -0,0 +1 @@
3c4ab80a50072679d9ac50b6359700fd89a790a6
@@ -0,0 +1 @@
f01a5f25dea7877796a2faf98f3e29d0b46882d2
@@ -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
@@ -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
@@ -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
@@ -0,0 +1 @@
1621f658b9f77d5de290af05a6ad8e4f7559322a
@@ -0,0 +1 @@
6dc671260f2bc46acf7c14b4942aca5d0ac6a218

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