|
|
1.1 root 1: .long
2: .dc.l codeend-_p_move_start
3: _p_move_start::
4: .gpu
5: .org $f1b140
6:
7: S_LE .ccdef $14 ; PL
8: U_LE .ccdef $04 ; CC
9: S_GT .ccdef $18 ; MI
10: U_GT .ccdef $08 ; CS
11:
12: S_LT .ccdef $15 ; PL+NE
13: U_LT .ccdef $05 ; CC+NE
14:
15: FP .equr r14
16: scratch .equr r10
17: scratch2 .equr r11
18: RETURNVALUE .equr r29
19: RETURNPOINT .equr r28
20: MATH_A .equr r27
21: MATH_B .equr r26
22: MATH_C .equr r25
23: MATH_RTS .equr r24
24: MATH_SIGN .equr r23
25:
26: movei #codestart,scratch
27: jump T,(scratch)
28: nop
29:
30:
31: GPU_IMUL:
32: move MATH_A,MATH_SIGN
33: xor MATH_B,MATH_SIGN
34: abs MATH_A
35: abs MATH_B
36: move MATH_A,MATH_C
37: mult MATH_B,MATH_C
38: move MATH_B,scratch2
39: shrq #16,scratch2
40: mult MATH_A,scratch2
41: shlq #16,scratch2
42: add scratch2,MATH_C
43: move MATH_A,scratch2
44: shrq #16,scratch2
45: mult MATH_B,scratch2
46: shlq #16,scratch2
47: add scratch2, MATH_C
48: btst #31,MATH_SIGN
49: jump EQ,(MATH_RTS)
50: nop
51: jump T,(MATH_RTS)
52: neg MATH_C
53:
54:
55: ;=============================================================================
56: _PM_PointInSubsector:: ; subsector_t * (fixed_t x, fixed_t y)
57: ;=============================================================================
58: .extern _nodes, _numnodes, _subsectors
59:
60: pi_node .equr r15
61: pi_x .equr r16
62: pi_y .equr r17
63: pi_side .equr r18
64: pi_nodebase .equr r19
65: pi_nodex .equr r20
66: pi_nodey .equr r21
67: pi_nodedx .equr r22
68: pi_nodedy .equr r23
69:
70: load (FP),pi_x
71: load (FP+1),pi_y
72:
73: movei #_nodes,pi_nodebase
74: load (pi_nodebase),pi_nodebase
75:
76: movei #_numnodes,pi_node
77: load (pi_node),pi_node
78: subq #1,pi_node ; nodenum = numnodes-1
79:
80: nodeloop:
81: btst #15,pi_node
82: jr EQ,notsubsec
83: nop
84:
85: bclr #15,pi_node
86: moveq #12,scratch
87: mult scratch,pi_node
88: movei #_subsectors,RETURNVALUE
89: load (RETURNVALUE),RETURNVALUE
90:
91: jump T,(RETURNPOINT)
92: add pi_node,RETURNVALUE ; delay slot
93:
94: notsubsec:
95:
96: movei #56,scratch
97: mult scratch,pi_node
98: add pi_nodebase,pi_node
99: ;
100: ; pi_side = pointonnodeside (x,y,node)
101: ;
102: load (pi_node),pi_nodex
103: load (pi_node+1),pi_nodey
104: load (pi_node+2),pi_nodedx
105: load (pi_node+3),pi_nodedy
106:
107: move pi_x,scratch
108: sub pi_nodex,scratch
109:
110: move pi_y,scratch2
111: sub pi_nodey,scratch2
112:
113: sharq #16,scratch
114: sharq #16,scratch2
115: sharq #16,pi_nodedx
116: sharq #16,pi_nodedy
117:
118: imult pi_nodedy,scratch
119: imult pi_nodedx,scratch2
120:
121: cmp scratch2,scratch
122: jr S_GT,backside
123: nop
124:
125: movei #48,scratch
126: jr T,gotside
127: nop
128: backside:
129: movei #52,scratch
130: gotside:
131: ; got a subsector, return &subsectors[nodenum&~NF_SUBSECTOR];
132:
133: ;
134: ; nodenum = node->children[side]
135: ;
136: add scratch,pi_node
137: movei #nodeloop,scratch
138: jump T,(scratch)
139: load (pi_node),pi_node
140:
141: ;==============================================================================
142: _PM_UnsetThingPosition::
143: ;==============================================================================
144: us_thing .equr r15
145: us_blockx .equr r16
146: us_blocky .equr r17
147: us_next .equr r18
148: us_prev .equr r19
149:
150: load (FP),us_thing
151:
152: load (us_thing+6),us_next ; thing->snext
153: load (us_thing+7),us_prev ; thing->sprev
154:
155: or us_next,us_next
156: jr EQ,nosnext
157: nop
158: moveq #7*4,scratch
159: add us_next,scratch ; thing->snext->sprev
160: load (scratch),r31 ; DSP BUG
161: store us_prev,(scratch)
162: nosnext:
163:
164: or us_prev,us_prev
165: jr EQ,nosprev
166: nop
167: moveq #6*4,scratch
168: add us_prev,scratch ; thing->sprev->snext
169: load (scratch),r31 ; DSP BUG
170: store us_next,(scratch)
171: jr T,slinksdone
172: nop
173:
174: nosprev:
175:
176: load (us_thing+13),scratch ; thing->subsector
177: load (scratch),scratch ; thing->subsector->sector
178: movei #20*4,scratch2
179: add scratch2,scratch ; thing->subsector->sector->thinglist
180: load (scratch),r31 ; DSP BUG
181: store us_next,(scratch)
182:
183: slinksdone:
184:
185: load (us_thing+25),scratch ; thing->flags
186: btst #4,scratch ; MF_NOBLOCKMAP
187: jump NE,(RETURNPOINT)
188: nop
189:
190: ;
191: ; block links
192: ;
193: load (us_thing+11),us_next
194: load (us_thing+12),us_prev
195:
196: or us_next,us_next
197: jr EQ,nobnext
198: nop
199: movei #12*4,scratch
200: add us_next,scratch ; thing->bnext->bprev
201: load (scratch),r31 ; DSP BUG
202: store us_prev,(scratch)
203: nobnext:
204:
205: or us_prev,us_prev
206: jr EQ,nobprev
207: nop
208: movei #11*4,scratch
209: add us_prev,scratch
210: load (scratch),r31 ; DSP BUG
211: store us_next,(scratch)
212: jump T,(RETURNPOINT)
213: nop
214:
215: nobprev:
216:
217: load (us_thing+3),us_blockx
218: movei #_bmaporgx,scratch
219: load (scratch),scratch
220: sub scratch,us_blockx
221: shrq #23,us_blockx
222:
223: load (us_thing+4),us_blocky
224: movei #_bmaporgy,scratch
225: load (scratch),scratch
226: sub scratch,us_blocky
227: shrq #23,us_blocky
228:
229: movei #_bmapwidth,scratch
230: load (scratch),scratch
231: mult scratch,us_blocky
232: add us_blockx,us_blocky
233: shlq #2,us_blocky ; int width table
234:
235: movei #_blocklinks,scratch
236: load (scratch),scratch
237:
238: add us_blocky,scratch
239:
240: load (scratch),r31 ; DSP BUG
241: store us_next,(scratch)
242:
243: jump T,(RETURNPOINT)
244: nop
245:
246:
247: codestart:
248: ; unfuckdsp output -- add loads before external dsp stores
249:
250: ;====================
251: _P_TryMove2::
252: ;3 dag registers 0 register variables
253: ;localoffset:4 regoffset:4 argoffset:20
254: ;====================
255: subq #20,FP
256:
257: movei #_trymove2,r0
258: moveq #0,r1
259: load (r0),r30 ; FUCKING dsp!
260: or r30,r30 ; FUCKING dsp!
261: store r1,(r0)
262: movei #_floatok,r0
263: load (r0),r30 ; FUCKING dsp!
264: or r30,r30 ; FUCKING dsp!
265: store r1,(r0)
266: movei #_oldx,r0
267: movei #_tmthing,r1
268: load (r1),r1
269: move r1,r2
270: addq #12,r2
271: load (r2),r2
272: load (r0),r30 ; FUCKING dsp!
273: or r30,r30 ; FUCKING dsp!
274: store r2,(r0)
275: movei #_oldy,r0
276: addq #16,r1
277: load (r1),r1
278: load (r0),r30 ; FUCKING dsp!
279: or r30,r30 ; FUCKING dsp!
280: store r1,(r0)
281: movei #_PM_CheckPosition,r0
282: store r28,(FP+1) ; push ;(RETURNPOINT)
283: movei #L86,RETURNPOINT
284: jump T,(r0)
285: nop ; delay slot
286: L86:
287: load (FP+1), RETURNPOINT ; pop
288:
289: movei #_checkposonly,r0
290: load (r0),r0
291: moveq #0,r1
292: cmp r0,r1
293: movei #L72,scratch
294: jump EQ,(scratch)
295: nop
296:
297: movei #_checkposonly,r0
298: moveq #0,r1
299: load (r0),r30 ; FUCKING dsp!
300: or r30,r30 ; FUCKING dsp!
301: store r1,(r0)
302:
303: movei #L71,r0
304: jump T,(r0)
305: nop
306:
307: L72:
308:
309: movei #_trymove2,r0
310: load (r0),r0
311: moveq #0,r1
312: cmp r0,r1
313: movei #L74,scratch
314: jump NE,(scratch)
315: nop
316:
317:
318: movei #L71,r0
319: jump T,(r0)
320: nop
321:
322: L74:
323:
324: movei #_tmthing,r0
325: load (r0),r0
326: movei #100,r1
327: add r1,r0
328: load (r0),r0
329: movei #4096,r1
330: and r1,r0
331: moveq #0,r1
332: cmp r0,r1
333: movei #L76,scratch
334: jump NE,(scratch)
335: nop
336:
337: movei #_trymove2,r0
338: moveq #0,r1
339: load (r0),r30 ; FUCKING dsp!
340: or r30,r30 ; FUCKING dsp!
341: store r1,(r0)
342: movei #_tmceilingz,r0
343: load (r0),r0
344: movei #_tmfloorz,r1
345: load (r1),r1
346: sub r1,r0
347: movei #_tmthing,r1
348: load (r1),r1
349: movei #68,r2
350: add r2,r1
351: load (r1),r1
352: cmp r0,r1
353: movei #L78,scratch
354: jump EQ,(scratch)
355: nop
356: jump MI,(scratch)
357: nop
358:
359:
360: movei #L71,r0
361: jump T,(r0)
362: nop
363:
364: L78:
365:
366: movei #_floatok,r0
367: moveq #1,r1
368: load (r0),r30 ; FUCKING dsp!
369: or r30,r30 ; FUCKING dsp!
370: store r1,(r0)
371: movei #_tmthing,r0
372: load (r0),r0
373: movei #100,r1
374: move r0,r2
375: add r1,r2
376: load (r2),r1
377: movei #32768,r2
378: and r2,r1
379: moveq #0,r2
380: cmp r1,r2
381: movei #L80,scratch
382: jump NE,(scratch)
383: nop
384: movei #_tmceilingz,r1
385: load (r1),r1
386: move r0,r2
387: addq #20,r2
388: load (r2),r2
389: sub r2,r1
390: movei #68,r2
391: add r2,r0
392: load (r0),r0
393: cmp r1,r0
394: movei #L80,scratch
395: jump EQ,(scratch)
396: nop
397: jump MI,(scratch)
398: nop
399:
400:
401: movei #L71,r0
402: jump T,(r0)
403: nop
404:
405: L80:
406:
407: movei #_tmthing,r0
408: load (r0),r0
409: movei #100,r1
410: move r0,r2
411: add r1,r2
412: load (r2),r1
413: movei #32768,r2
414: and r2,r1
415: moveq #0,r2
416: cmp r1,r2
417: movei #L82,scratch
418: jump NE,(scratch)
419: nop
420: movei #_tmfloorz,r1
421: load (r1),r1
422: addq #20,r0
423: load (r0),r0
424: sub r0,r1
425: movei #1572864,r0
426: cmp r1,r0
427: movei #L82,scratch
428: jump PL,(scratch)
429: nop
430:
431:
432: movei #L71,r0
433: jump T,(r0)
434: nop
435:
436: L82:
437:
438: movei #_tmthing,r0
439: load (r0),r0
440: movei #100,r1
441: add r1,r0
442: load (r0),r0
443: movei #17408,r1
444: and r1,r0
445: moveq #0,r1
446: cmp r0,r1
447: movei #L84,scratch
448: jump NE,(scratch)
449: nop
450: movei #_tmfloorz,r0
451: load (r0),r0
452: movei #_tmdropoffz,r1
453: load (r1),r1
454: sub r1,r0
455: movei #1572864,r1
456: cmp r0,r1
457: movei #L84,scratch
458: jump PL,(scratch)
459: nop
460:
461:
462: movei #L71,r0
463: jump T,(r0)
464: nop
465:
466: L84:
467:
468: L76:
469:
470: movei #_tmthing,r0
471: load (r0),r0
472: store r0,(FP) ; arg[]
473: movei #_PM_UnsetThingPosition,r0
474: store r28,(FP+1) ; push ;(RETURNPOINT)
475: movei #L87,RETURNPOINT
476: jump T,(r0)
477: nop ; delay slot
478: L87:
479: load (FP+1), RETURNPOINT ; pop
480:
481: movei #_tmthing,r0
482: load (r0),r0
483: movei #56,r1
484: add r1,r0
485: movei #_tmfloorz,r1
486: load (r1),r1
487: load (r0),r30 ; FUCKING dsp!
488: or r30,r30 ; FUCKING dsp!
489: store r1,(r0)
490:
491: movei #_tmthing,r0
492: load (r0),r0
493: movei #60,r1
494: add r1,r0
495: movei #_tmceilingz,r1
496: load (r1),r1
497: load (r0),r30 ; FUCKING dsp!
498: or r30,r30 ; FUCKING dsp!
499: store r1,(r0)
500:
501: movei #_tmthing,r0
502: load (r0),r0
503: addq #12,r0
504: movei #_tmx,r1
505: load (r1),r1
506: load (r0),r30 ; FUCKING dsp!
507: or r30,r30 ; FUCKING dsp!
508: store r1,(r0)
509:
510: movei #_tmthing,r0
511: load (r0),r0
512: addq #16,r0
513: movei #_tmy,r1
514: load (r1),r1
515: load (r0),r30 ; FUCKING dsp!
516: or r30,r30 ; FUCKING dsp!
517: store r1,(r0)
518:
519: movei #_tmthing,r0
520: load (r0),r0
521: store r0,(FP) ; arg[]
522: movei #_PM_SetThingPosition,r0
523: store r28,(FP+1) ; push ;(RETURNPOINT)
524: movei #L88,RETURNPOINT
525: jump T,(r0)
526: nop ; delay slot
527: L88:
528: load (FP+1), RETURNPOINT ; pop
529:
530: movei #_trymove2,r0
531: moveq #1,r1
532: load (r0),r30 ; FUCKING dsp!
533: or r30,r30 ; FUCKING dsp!
534: store r1,(r0)
535:
536: L71:
537: jump T,(RETURNPOINT)
538: addq #20,FP ; delay slot
539:
540: ;====================
541: _PM_PointOnLineSide::
542: ;6 dag registers 0 register variables
543: ;localoffset:0 regoffset:16 argoffset:16
544: ;====================
545: subq #16,FP
546:
547: move FP,r0 ; &dx
548: load (FP+4),r1 ; local x
549: load (FP+6),r2 ; local line
550: load (r2),r3
551: load (r3),r3
552: sub r3,r1
553: load (r0),r30 ; FUCKING dsp!
554: or r30,r30 ; FUCKING dsp!
555: store r1,(r0)
556: move FP,r1
557: addq #4,r1 ; &dy
558: load (FP+5),r3 ; local y
559: load (r2),r4
560: addq #4,r4
561: load (r4),r4
562: sub r4,r3
563: load (r1),r30 ; FUCKING dsp!
564: or r30,r30 ; FUCKING dsp!
565: store r3,(r1)
566: move FP,r3
567: addq #8,r3 ; &left
568: move r2,r4
569: addq #12,r4
570: load (r4),r4
571: moveq #16,r5
572: sha r5,r4
573: load (r0),r0
574: sha r5,r0
575: move r4,MATH_A
576: movei #L92,MATH_RTS
577: movei #GPU_IMUL,scratch
578: jump T,(scratch)
579: move r0,MATH_B ; delay slot
580: L92:
581: move MATH_C,r4
582: load (r3),r30 ; FUCKING dsp!
583: or r30,r30 ; FUCKING dsp!
584: store r4,(r3)
585: move FP,r0
586: addq #12,r0 ; &right
587: load (r1),r1
588: sha r5,r1
589: addq #8,r2
590: load (r2),r2
591: sha r5,r2
592: move r1,MATH_A
593: movei #L93,MATH_RTS
594: movei #GPU_IMUL,scratch
595: jump T,(scratch)
596: move r2,MATH_B ; delay slot
597: L93:
598: move MATH_C,r1
599: load (r0),r30 ; FUCKING dsp!
600: or r30,r30 ; FUCKING dsp!
601: store r1,(r0)
602: load (r0),r0
603: load (r3),r1
604: cmp r0,r1
605: movei #L90,scratch
606: jump EQ,(scratch)
607: nop
608: jump MI,(scratch)
609: nop
610:
611: moveq #0,r0
612: move r0,RETURNVALUE
613:
614: movei #L89,r0
615: jump T,(r0)
616: nop
617:
618: L90:
619:
620: moveq #1,r0
621: move r0,RETURNVALUE
622:
623: L89:
624: jump T,(RETURNPOINT)
625: addq #16,FP ; delay slot
626:
627: ;====================
628: _PM_SetThingPosition::
629: ;5 dag registers 0 register variables
630: ;localoffset:0 regoffset:20 argoffset:20
631: ;====================
632: subq #20,FP
633:
634: move FP,r0
635: addq #12,r0 ; &ss
636: movei #_newsubsec,r1
637: load (r1),r1
638: load (r0),r30 ; FUCKING dsp!
639: or r30,r30 ; FUCKING dsp!
640: store r1,(r0)
641: load (FP+5),r0 ; local thing
642: movei #52,r2
643: add r2,r0
644: load (r0),r30 ; FUCKING dsp!
645: or r30,r30 ; FUCKING dsp!
646: store r1,(r0)
647:
648: load (FP+5),r0 ; local thing
649: movei #100,r1
650: add r1,r0
651: load (r0),r0
652: moveq #8,r1
653: and r1,r0
654: moveq #0,r1
655: cmp r0,r1
656: movei #L95,scratch
657: jump NE,(scratch)
658: nop
659:
660: move FP,r0 ; &sec
661: load (FP+3),r1 ; local ss
662: load (r1),r1
663: load (r0),r30 ; FUCKING dsp!
664: or r30,r30 ; FUCKING dsp!
665: store r1,(r0)
666: load (FP+5),r0 ; local thing
667: addq #28,r0
668: moveq #0,r1
669: load (r0),r30 ; FUCKING dsp!
670: or r30,r30 ; FUCKING dsp!
671: store r1,(r0)
672:
673: load (FP+5),r0 ; local thing
674: addq #24,r0
675: load (FP),r1 ; local sec
676: movei #80,r2
677: add r2,r1
678: load (r1),r1
679: load (r0),r30 ; FUCKING dsp!
680: or r30,r30 ; FUCKING dsp!
681: store r1,(r0)
682:
683: load (FP),r0 ; local sec
684: movei #80,r1
685: add r1,r0
686: load (r0),r0
687: moveq #0,r1
688: cmp r0,r1
689: movei #L97,scratch
690: jump EQ,(scratch)
691: nop
692:
693: load (FP),r0 ; local sec
694: movei #80,r1
695: add r1,r0
696: load (r0),r0
697: addq #28,r0
698: load (FP+5),r1 ; local thing
699: load (r0),r30 ; FUCKING dsp!
700: or r30,r30 ; FUCKING dsp!
701: store r1,(r0)
702:
703: L97:
704:
705: load (FP),r0 ; local sec
706: movei #80,r1
707: add r1,r0
708: load (FP+5),r1 ; local thing
709: load (r0),r30 ; FUCKING dsp!
710: or r30,r30 ; FUCKING dsp!
711: store r1,(r0)
712:
713: L95:
714:
715: load (FP+5),r0 ; local thing
716: movei #100,r1
717: add r1,r0
718: load (r0),r0
719: moveq #16,r1
720: and r1,r0
721: moveq #0,r1
722: cmp r0,r1
723: movei #L99,scratch
724: jump NE,(scratch)
725: nop
726:
727: move FP,r0
728: addq #4,r0 ; &blockx
729: load (FP+5),r1 ; local thing
730: move r1,r2
731: addq #12,r2
732: load (r2),r2
733: movei #_bmaporgx,r3
734: load (r3),r3
735: sub r3,r2
736: moveq #23,r3
737: sha r3,r2
738: load (r0),r30 ; FUCKING dsp!
739: or r30,r30 ; FUCKING dsp!
740: store r2,(r0)
741: move FP,r2
742: addq #8,r2 ; &blocky
743: addq #16,r1
744: load (r1),r1
745: movei #_bmaporgy,r4
746: load (r4),r4
747: sub r4,r1
748: sha r3,r1
749: load (r2),r30 ; FUCKING dsp!
750: or r30,r30 ; FUCKING dsp!
751: store r1,(r2)
752: load (r0),r0
753: moveq #0,r1
754: cmp r0,r1
755: movei #L101,scratch
756: jump S_LT,(scratch)
757: nop
758: movei #_bmapwidth,r3
759: load (r3),r3
760: cmp r0,r3
761: movei #L101,scratch
762: jump EQ,(scratch)
763: nop
764: jump MI,(scratch)
765: nop
766: load (r2),r0
767: cmp r0,r1
768: movei #L101,scratch
769: jump S_LT,(scratch)
770: nop
771: movei #_bmapheight,r1
772: load (r1),r1
773: cmp r0,r1
774: movei #L101,scratch
775: jump EQ,(scratch)
776: nop
777: jump MI,(scratch)
778: nop
779:
780: move FP,r0
781: addq #16,r0 ; &link
782: load (FP+2),r1 ; local blocky
783: movei #_bmapwidth,r2
784: load (r2),r2
785: move r1,MATH_A
786: movei #L105,MATH_RTS
787: movei #GPU_IMUL,scratch
788: jump T,(scratch)
789: move r2,MATH_B ; delay slot
790: L105:
791: move MATH_C,r1
792: load (FP+1),r2 ; local blockx
793: add r2,r1
794: shlq #2,r1
795: movei #_blocklinks,r2
796: load (r2),r2
797: add r2,r1
798: load (r0),r30 ; FUCKING dsp!
799: or r30,r30 ; FUCKING dsp!
800: store r1,(r0)
801: load (FP+5),r0 ; local thing
802: movei #48,r1
803: add r1,r0
804: moveq #0,r1
805: load (r0),r30 ; FUCKING dsp!
806: or r30,r30 ; FUCKING dsp!
807: store r1,(r0)
808:
809: load (FP+5),r0 ; local thing
810: movei #44,r1
811: add r1,r0
812: load (FP+4),r1 ; local link
813: load (r1),r1
814: load (r0),r30 ; FUCKING dsp!
815: or r30,r30 ; FUCKING dsp!
816: store r1,(r0)
817:
818: load (FP+4),r0 ; local link
819: load (r0),r0
820: moveq #0,r1
821: cmp r0,r1
822: movei #L103,scratch
823: jump EQ,(scratch)
824: nop
825:
826: load (FP+4),r0 ; local link
827: load (r0),r0
828: movei #48,r1
829: add r1,r0
830: load (FP+5),r1 ; local thing
831: load (r0),r30 ; FUCKING dsp!
832: or r30,r30 ; FUCKING dsp!
833: store r1,(r0)
834:
835: L103:
836:
837: load (FP+4),r0 ; local link
838: load (FP+5),r1 ; local thing
839: load (r0),r30 ; FUCKING dsp!
840: or r30,r30 ; FUCKING dsp!
841: store r1,(r0)
842:
843: movei #L102,r0
844: jump T,(r0)
845: nop
846:
847: L101:
848:
849: load (FP+5),r0 ; local thing
850: movei #48,r1
851: move r0,r2
852: add r1,r2
853: moveq #0,r1
854: load (r2),r30 ; FUCKING dsp!
855: or r30,r30 ; FUCKING dsp!
856: store r1,(r2)
857: movei #44,r2
858: add r2,r0
859: load (r0),r30 ; FUCKING dsp!
860: or r30,r30 ; FUCKING dsp!
861: store r1,(r0)
862:
863: L102:
864:
865: L99:
866:
867:
868: L94:
869: jump T,(RETURNPOINT)
870: addq #20,FP ; delay slot
871:
872: ;====================
873: _PM_CheckPosition::
874: ;5 dag registers 6 register variables
875: ;localoffset:8 regoffset:8 argoffset:56
876: ;====================
877: movei #56,scratch
878: sub scratch,FP
879:
880: movei #_tmflags,r0
881: movei #_tmthing,r1
882: load (r1),r1
883: movei #100,r2
884: move r1,r3
885: add r2,r3
886: load (r3),r2
887: load (r0),r30 ; FUCKING dsp!
888: or r30,r30 ; FUCKING dsp!
889: store r2,(r0)
890: movei #_tmbbox,r0
891: movei #_tmy,r2
892: load (r2),r2
893: movei #64,r3
894: add r3,r1
895: load (r1),r3
896: move r2,r4
897: add r3,r4
898: load (r0),r30 ; FUCKING dsp!
899: or r30,r30 ; FUCKING dsp!
900: store r4,(r0)
901: movei #_tmbbox+4,r0
902: load (r1),r1
903: sub r1,r2
904: load (r0),r30 ; FUCKING dsp!
905: or r30,r30 ; FUCKING dsp!
906: store r2,(r0)
907:
908: movei #_tmbbox+12,r0
909: movei #_tmx,r1
910: load (r1),r1
911: movei #_tmthing,r2
912: load (r2),r2
913: movei #64,r3
914: add r3,r2
915: load (r2),r2
916: add r2,r1
917: load (r0),r30 ; FUCKING dsp!
918: or r30,r30 ; FUCKING dsp!
919: store r1,(r0)
920:
921: movei #_tmbbox+8,r0
922: movei #_tmx,r1
923: load (r1),r1
924: movei #_tmthing,r2
925: load (r2),r2
926: movei #64,r3
927: add r3,r2
928: load (r2),r2
929: sub r2,r1
930: load (r0),r30 ; FUCKING dsp!
931: or r30,r30 ; FUCKING dsp!
932: store r1,(r0)
933:
934: movei #_tmx,r0
935: load (r0),r0
936: store r0,(FP) ; arg[]
937: movei #_tmy,r0
938: load (r0),r0
939: or r0,scratch ; scoreboard bug
940: store r0,(FP+1) ; arg[]
941: movei #_PM_PointInSubsector,r0
942: store r28,(FP+2) ; push ;(RETURNPOINT)
943: store r20,(FP+3) ; push ;(xl)
944: store r19,(FP+4) ; push ;(yl)
945: store r18,(FP+5) ; push ;(xh)
946: store r17,(FP+6) ; push ;(yh)
947: store r16,(FP+7) ; push ;(bx)
948: movei #L154,RETURNPOINT
949: jump T,(r0)
950: store r15,(FP+8) ; delay slot push ;(by)
951: L154:
952: load (FP+3),r20 ; pop ;(xl)
953: load (FP+4),r19 ; pop ;(yl)
954: load (FP+5),r18 ; pop ;(xh)
955: load (FP+6),r17 ; pop ;(yh)
956: load (FP+7),r16 ; pop ;(bx)
957: load (FP+8),r15 ; pop ;(by)
958: load (FP+2), RETURNPOINT ; pop
959: movei #_newsubsec,r0
960: move r29,r1 ;(RETURNVALUE)
961: load (r0),r30 ; FUCKING dsp!
962: or r30,r30 ; FUCKING dsp!
963: store r1,(r0)
964: movei #_tmdropoffz,r0
965: movei #_newsubsec,r1
966: load (r1),r1
967: load (r1),r2
968: load (r2),r2
969: load (r0),r30 ; FUCKING dsp!
970: or r30,r30 ; FUCKING dsp!
971: store r2,(r0)
972: movei #_tmfloorz,r0
973: load (r0),r30 ; FUCKING dsp!
974: or r30,r30 ; FUCKING dsp!
975: store r2,(r0)
976: movei #_tmceilingz,r0
977: load (r1),r1
978: addq #4,r1
979: load (r1),r1
980: load (r0),r30 ; FUCKING dsp!
981: or r30,r30 ; FUCKING dsp!
982: store r1,(r0)
983: movei #_validcount,r0
984: load (r0),r1
985: addq #1,r1
986: load (r0),r30 ; FUCKING dsp!
987: or r30,r30 ; FUCKING dsp!
988: store r1,(r0)
989: movei #_movething,r0
990: moveq #0,r1
991: load (r0),r30 ; FUCKING dsp!
992: or r30,r30 ; FUCKING dsp!
993: store r1,(r0)
994: movei #_blockline,r0
995: load (r0),r30 ; FUCKING dsp!
996: or r30,r30 ; FUCKING dsp!
997: store r1,(r0)
998: movei #_tmflags,r0
999: load (r0),r0
1000: movei #4096,r1
1001: and r1,r0
1002: moveq #0,r1
1003: cmp r0,r1
1004: movei #L110,scratch
1005: jump EQ,(scratch)
1006: nop
1007:
1008: movei #_trymove2,r0
1009: moveq #1,r1
1010: load (r0),r30 ; FUCKING dsp!
1011: or r30,r30 ; FUCKING dsp!
1012: store r1,(r0)
1013:
1014: movei #L106,r0
1015: jump T,(r0)
1016: nop
1017:
1018: L110:
1019:
1020: movei #_tmbbox+8,r0
1021: load (r0),r0
1022: movei #_bmaporgx,r1
1023: load (r1),r1
1024: sub r1,r0
1025: movei #2097152,r2
1026: sub r2,r0
1027: moveq #23,r3
1028: sha r3,r0
1029: move r0,r20 ;(xl)
1030: movei #_tmbbox+12,r0
1031: load (r0),r0
1032: sub r1,r0
1033: add r2,r0
1034: sha r3,r0
1035: move r0,r18 ;(xh)
1036: movei #_tmbbox+4,r0
1037: load (r0),r0
1038: movei #_bmaporgy,r1
1039: load (r1),r1
1040: sub r1,r0
1041: sub r2,r0
1042: sha r3,r0
1043: move r0,r19 ;(yl)
1044: movei #_tmbbox,r0
1045: load (r0),r0
1046: sub r1,r0
1047: add r2,r0
1048: sha r3,r0
1049: move r0,r17 ;(yh)
1050: moveq #0,r0
1051: cmp r20,r0 ;(xl)
1052: movei #L115,scratch
1053: jump EQ,(scratch)
1054: nop
1055: jump MI,(scratch)
1056: nop
1057:
1058: moveq #0,r0
1059: move r0,r20 ;(xl)
1060:
1061: L115:
1062:
1063: moveq #0,r0
1064: cmp r19,r0 ;(yl)
1065: movei #L117,scratch
1066: jump EQ,(scratch)
1067: nop
1068: jump MI,(scratch)
1069: nop
1070:
1071: moveq #0,r0
1072: move r0,r19 ;(yl)
1073:
1074: L117:
1075:
1076: movei #_bmapwidth,r0
1077: load (r0),r0
1078: cmp r18,r0 ;(xh)
1079: movei #L119,scratch
1080: jump S_LT,(scratch)
1081: nop
1082:
1083: movei #_bmapwidth,r0
1084: load (r0),r0
1085: subq #1,r0
1086: move r0,r18 ;(xh)
1087:
1088: L119:
1089:
1090: movei #_bmapheight,r0
1091: load (r0),r0
1092: cmp r17,r0 ;(yh)
1093: movei #L121,scratch
1094: jump S_LT,(scratch)
1095: nop
1096:
1097: movei #_bmapheight,r0
1098: load (r0),r0
1099: subq #1,r0
1100: move r0,r17 ;(yh)
1101:
1102: L121:
1103:
1104: move r20,r16 ;(xl)(bx)
1105:
1106: movei #L126,r0
1107: jump T,(r0)
1108: nop
1109:
1110: L123:
1111:
1112: move r19,r15 ;(yl)(by)
1113:
1114: movei #L130,r0
1115: jump T,(r0)
1116: nop
1117:
1118: L127:
1119:
1120: store r16,(FP) ; arg[] ;(bx)
1121: or r15,scratch ; scoreboard bug ;(by)
1122: store r15,(FP+1) ; arg[] ;(by)
1123: movei #_PM_MoveThingsIterator,r0
1124: store r28,(FP+2) ; push ;(RETURNPOINT)
1125: store r20,(FP+3) ; push ;(xl)
1126: store r19,(FP+4) ; push ;(yl)
1127: store r18,(FP+5) ; push ;(xh)
1128: store r17,(FP+6) ; push ;(yh)
1129: store r16,(FP+7) ; push ;(bx)
1130: movei #L155,RETURNPOINT
1131: jump T,(r0)
1132: store r15,(FP+8) ; delay slot push ;(by)
1133: L155:
1134: load (FP+3),r20 ; pop ;(xl)
1135: load (FP+4),r19 ; pop ;(yl)
1136: load (FP+5),r18 ; pop ;(xh)
1137: load (FP+6),r17 ; pop ;(yh)
1138: load (FP+7),r16 ; pop ;(bx)
1139: load (FP+8),r15 ; pop ;(by)
1140: load (FP+2), RETURNPOINT ; pop
1141: moveq #0,r0
1142: cmp r29,r0 ;(RETURNVALUE)
1143: movei #L131,scratch
1144: jump NE,(scratch)
1145: nop
1146:
1147: movei #_trymove2,r0
1148: moveq #0,r1
1149: load (r0),r30 ; FUCKING dsp!
1150: or r30,r30 ; FUCKING dsp!
1151: store r1,(r0)
1152:
1153: movei #L106,r0
1154: jump T,(r0)
1155: nop
1156:
1157: L131:
1158:
1159: L128:
1160:
1161: move r15,r0 ;(by)
1162: addq #1,r0
1163: move r0,r15 ;(by)
1164:
1165: L130:
1166:
1167: cmp r15,r17 ;(by)(yh)
1168: movei #L127,scratch
1169: jump PL,(scratch)
1170: nop
1171:
1172: L124:
1173:
1174: move r16,r0 ;(bx)
1175: addq #1,r0
1176: move r0,r16 ;(bx)
1177:
1178: L126:
1179:
1180: cmp r16,r18 ;(bx)(xh)
1181: movei #L123,scratch
1182: jump PL,(scratch)
1183: nop
1184:
1185: movei #_tmbbox+8,r0
1186: load (r0),r0
1187: movei #_bmaporgx,r1
1188: load (r1),r1
1189: sub r1,r0
1190: moveq #23,r2
1191: sha r2,r0
1192: move r0,r20 ;(xl)
1193: movei #_tmbbox+12,r0
1194: load (r0),r0
1195: sub r1,r0
1196: sha r2,r0
1197: move r0,r18 ;(xh)
1198: movei #_tmbbox+4,r0
1199: load (r0),r0
1200: movei #_bmaporgy,r1
1201: load (r1),r1
1202: sub r1,r0
1203: sha r2,r0
1204: move r0,r19 ;(yl)
1205: movei #_tmbbox,r0
1206: load (r0),r0
1207: sub r1,r0
1208: sha r2,r0
1209: move r0,r17 ;(yh)
1210: moveq #0,r0
1211: cmp r20,r0 ;(xl)
1212: movei #L136,scratch
1213: jump EQ,(scratch)
1214: nop
1215: jump MI,(scratch)
1216: nop
1217:
1218: moveq #0,r0
1219: move r0,r20 ;(xl)
1220:
1221: L136:
1222:
1223: moveq #0,r0
1224: cmp r19,r0 ;(yl)
1225: movei #L138,scratch
1226: jump EQ,(scratch)
1227: nop
1228: jump MI,(scratch)
1229: nop
1230:
1231: moveq #0,r0
1232: move r0,r19 ;(yl)
1233:
1234: L138:
1235:
1236: movei #_bmapwidth,r0
1237: load (r0),r0
1238: cmp r18,r0 ;(xh)
1239: movei #L140,scratch
1240: jump S_LT,(scratch)
1241: nop
1242:
1243: movei #_bmapwidth,r0
1244: load (r0),r0
1245: subq #1,r0
1246: move r0,r18 ;(xh)
1247:
1248: L140:
1249:
1250: movei #_bmapheight,r0
1251: load (r0),r0
1252: cmp r17,r0 ;(yh)
1253: movei #L142,scratch
1254: jump S_LT,(scratch)
1255: nop
1256:
1257: movei #_bmapheight,r0
1258: load (r0),r0
1259: subq #1,r0
1260: move r0,r17 ;(yh)
1261:
1262: L142:
1263:
1264: move r20,r16 ;(xl)(bx)
1265:
1266: movei #L147,r0
1267: jump T,(r0)
1268: nop
1269:
1270: L144:
1271:
1272: move r19,r15 ;(yl)(by)
1273:
1274: movei #L151,r0
1275: jump T,(r0)
1276: nop
1277:
1278: L148:
1279:
1280: store r16,(FP) ; arg[] ;(bx)
1281: or r15,scratch ; scoreboard bug ;(by)
1282: store r15,(FP+1) ; arg[] ;(by)
1283: movei #_PM_MoveLinesIterator,r0
1284: store r28,(FP+2) ; push ;(RETURNPOINT)
1285: store r20,(FP+3) ; push ;(xl)
1286: store r19,(FP+4) ; push ;(yl)
1287: store r18,(FP+5) ; push ;(xh)
1288: store r17,(FP+6) ; push ;(yh)
1289: store r16,(FP+7) ; push ;(bx)
1290: movei #L156,RETURNPOINT
1291: jump T,(r0)
1292: store r15,(FP+8) ; delay slot push ;(by)
1293: L156:
1294: load (FP+3),r20 ; pop ;(xl)
1295: load (FP+4),r19 ; pop ;(yl)
1296: load (FP+5),r18 ; pop ;(xh)
1297: load (FP+6),r17 ; pop ;(yh)
1298: load (FP+7),r16 ; pop ;(bx)
1299: load (FP+8),r15 ; pop ;(by)
1300: load (FP+2), RETURNPOINT ; pop
1301: moveq #0,r0
1302: cmp r29,r0 ;(RETURNVALUE)
1303: movei #L152,scratch
1304: jump NE,(scratch)
1305: nop
1306:
1307: movei #_trymove2,r0
1308: moveq #0,r1
1309: load (r0),r30 ; FUCKING dsp!
1310: or r30,r30 ; FUCKING dsp!
1311: store r1,(r0)
1312:
1313: movei #L106,r0
1314: jump T,(r0)
1315: nop
1316:
1317: L152:
1318:
1319: L149:
1320:
1321: move r15,r0 ;(by)
1322: addq #1,r0
1323: move r0,r15 ;(by)
1324:
1325: L151:
1326:
1327: cmp r15,r17 ;(by)(yh)
1328: movei #L148,scratch
1329: jump PL,(scratch)
1330: nop
1331:
1332: L145:
1333:
1334: move r16,r0 ;(bx)
1335: addq #1,r0
1336: move r0,r16 ;(bx)
1337:
1338: L147:
1339:
1340: cmp r16,r18 ;(bx)(xh)
1341: movei #L144,scratch
1342: jump PL,(scratch)
1343: nop
1344:
1345: movei #_trymove2,r0
1346: moveq #1,r1
1347: load (r0),r30 ; FUCKING dsp!
1348: or r30,r30 ; FUCKING dsp!
1349: store r1,(r0)
1350:
1351: L106:
1352: movei #56,scratch
1353: jump T,(RETURNPOINT)
1354: add scratch,FP ; delay slot
1355:
1356: ;====================
1357: _PM_BoxCrossLine::
1358: ;4 dag registers 5 register variables
1359: ;localoffset:0 regoffset:40 argoffset:40
1360: ;====================
1361: movei #40,scratch
1362: sub scratch,FP
1363:
1364: movei #_tmbbox+12,r0
1365: load (r0),r0
1366: load (FP+10),r1 ; local ld
1367: movei #44,r2
1368: move r1,r3
1369: add r2,r3
1370: load (r3),r2
1371: cmp r0,r2
1372: movei #L165,scratch
1373: jump PL,(scratch)
1374: nop
1375: movei #_tmbbox+8,r0
1376: load (r0),r0
1377: movei #48,r2
1378: move r1,r3
1379: add r2,r3
1380: load (r3),r2
1381: cmp r0,r2
1382: movei #L165,scratch
1383: jump EQ,(scratch)
1384: nop
1385: jump MI,(scratch)
1386: nop
1387: movei #_tmbbox,r0
1388: load (r0),r0
1389: movei #40,r2
1390: move r1,r3
1391: add r2,r3
1392: load (r3),r2
1393: cmp r0,r2
1394: movei #L165,scratch
1395: jump PL,(scratch)
1396: nop
1397: movei #_tmbbox+4,r0
1398: load (r0),r0
1399: movei #36,r2
1400: add r2,r1
1401: load (r1),r1
1402: cmp r0,r1
1403: movei #L158,scratch
1404: jump S_LT,(scratch)
1405: nop
1406: L165:
1407:
1408: moveq #0,r0
1409: move r0,RETURNVALUE
1410:
1411: movei #L157,r0
1412: jump T,(r0)
1413: nop
1414:
1415: L158:
1416:
1417: move FP,r0
1418: addq #4,r0 ; &y1
1419: movei #_tmbbox,r1
1420: load (r1),r1
1421: load (r0),r30 ; FUCKING dsp!
1422: or r30,r30 ; FUCKING dsp!
1423: store r1,(r0)
1424: move FP,r0
1425: addq #12,r0 ; &y2
1426: movei #_tmbbox+4,r1
1427: load (r1),r1
1428: load (r0),r30 ; FUCKING dsp!
1429: or r30,r30 ; FUCKING dsp!
1430: store r1,(r0)
1431: load (FP+10),r0 ; local ld
1432: movei #52,r1
1433: add r1,r0
1434: load (r0),r0
1435: moveq #2,r1
1436: cmp r0,r1
1437: movei #L167,scratch
1438: jump NE,(scratch)
1439: nop
1440:
1441: move FP,r0 ; &x1
1442: movei #_tmbbox+8,r1
1443: load (r1),r1
1444: load (r0),r30 ; FUCKING dsp!
1445: or r30,r30 ; FUCKING dsp!
1446: store r1,(r0)
1447: move FP,r0
1448: addq #8,r0 ; &x2
1449: movei #_tmbbox+12,r1
1450: load (r1),r1
1451: load (r0),r30 ; FUCKING dsp!
1452: or r30,r30 ; FUCKING dsp!
1453: store r1,(r0)
1454:
1455: movei #L168,r0
1456: jump T,(r0)
1457: nop
1458:
1459: L167:
1460:
1461: move FP,r0 ; &x1
1462: movei #_tmbbox+12,r1
1463: load (r1),r1
1464: load (r0),r30 ; FUCKING dsp!
1465: or r30,r30 ; FUCKING dsp!
1466: store r1,(r0)
1467: move FP,r0
1468: addq #8,r0 ; &x2
1469: movei #_tmbbox+8,r1
1470: load (r1),r1
1471: load (r0),r30 ; FUCKING dsp!
1472: or r30,r30 ; FUCKING dsp!
1473: store r1,(r0)
1474:
1475: L168:
1476:
1477: load (FP+10),r0 ; local ld
1478: load (r0),r1
1479: load (r1),r1
1480: move r1,r15 ;(lx)
1481: load (r0),r1
1482: addq #4,r1
1483: load (r1),r1
1484: move r1,r16 ;(ly)
1485: move r0,r1
1486: addq #8,r1
1487: load (r1),r1
1488: moveq #16,r2
1489: sha r2,r1
1490: move r1,r17 ;(ldx)
1491: addq #12,r0
1492: load (r0),r0
1493: sha r2,r0
1494: move r0,r18 ;(ldy)
1495: move FP,r0
1496: addq #16,r0 ; &dx1
1497: load (FP),r1 ; local x1
1498: sub r15,r1 ;(lx)
1499: sha r2,r1
1500: load (r0),r30 ; FUCKING dsp!
1501: or r30,r30 ; FUCKING dsp!
1502: store r1,(r0)
1503: move FP,r0
1504: addq #20,r0 ; &dy1
1505: load (FP+1),r1 ; local y1
1506: sub r16,r1 ;(ly)
1507: sha r2,r1
1508: load (r0),r30 ; FUCKING dsp!
1509: or r30,r30 ; FUCKING dsp!
1510: store r1,(r0)
1511: move FP,r0
1512: addq #24,r0 ; &dx2
1513: load (FP+2),r1 ; local x2
1514: sub r15,r1 ;(lx)
1515: sha r2,r1
1516: load (r0),r30 ; FUCKING dsp!
1517: or r30,r30 ; FUCKING dsp!
1518: store r1,(r0)
1519: move FP,r0
1520: addq #28,r0 ; &dy2
1521: load (FP+3),r1 ; local y2
1522: sub r16,r1 ;(ly)
1523: sha r2,r1
1524: load (r0),r30 ; FUCKING dsp!
1525: or r30,r30 ; FUCKING dsp!
1526: store r1,(r0)
1527: load (FP+4),r0 ; local dx1
1528: move r18,MATH_A ;(ldy)
1529: movei #L180,MATH_RTS
1530: movei #GPU_IMUL,scratch
1531: jump T,(scratch)
1532: move r0,MATH_B ; delay slot
1533: L180:
1534: move MATH_C,r1
1535: load (FP+5),r0 ; local dy1
1536: move r0,MATH_A
1537: movei #L181,MATH_RTS
1538: movei #GPU_IMUL,scratch
1539: jump T,(scratch)
1540: move r17,MATH_B ; delay slot ;(ldx)
1541: L181:
1542: move MATH_C,r0
1543: cmp r1,r0
1544: movei #L174,scratch
1545: jump EQ,(scratch)
1546: nop
1547: jump MI,(scratch)
1548: nop
1549: moveq #1,r0
1550: move r0,r19 ;(173)
1551: movei #L175,r0
1552: jump T,(r0)
1553: nop
1554: L174:
1555: moveq #0,r0
1556: move r0,r19 ;(173)
1557: L175:
1558: move FP,r0
1559: addq #32,r0 ; &side1
1560: load (r0),r30 ; FUCKING dsp!
1561: or r30,r30 ; FUCKING dsp!
1562: store r19,(r0) ;(173)
1563: load (FP+6),r0 ; local dx2
1564: move r18,MATH_A ;(ldy)
1565: movei #L182,MATH_RTS
1566: movei #GPU_IMUL,scratch
1567: jump T,(scratch)
1568: move r0,MATH_B ; delay slot
1569: L182:
1570: move MATH_C,r1
1571: load (FP+7),r0 ; local dy2
1572: move r0,MATH_A
1573: movei #L183,MATH_RTS
1574: movei #GPU_IMUL,scratch
1575: jump T,(scratch)
1576: move r17,MATH_B ; delay slot ;(ldx)
1577: L183:
1578: move MATH_C,r0
1579: cmp r1,r0
1580: movei #L176,scratch
1581: jump EQ,(scratch)
1582: nop
1583: jump MI,(scratch)
1584: nop
1585: moveq #1,r0
1586: move r0,r19 ;(173)
1587: movei #L177,r0
1588: jump T,(r0)
1589: nop
1590: L176:
1591: moveq #0,r0
1592: move r0,r19 ;(173)
1593: L177:
1594: movei #36,r0
1595: add FP,r0 ; &side2
1596: load (r0),r30 ; FUCKING dsp!
1597: or r30,r30 ; FUCKING dsp!
1598: store r19,(r0) ;(173)
1599: load (FP+8),r0 ; local side1
1600: load (FP+9),r1 ; local side2
1601: cmp r0,r1
1602: movei #L178,scratch
1603: jump EQ,(scratch)
1604: nop
1605: moveq #1,r0
1606: move r0,r19 ;(173)
1607: movei #L179,r0
1608: jump T,(r0)
1609: nop
1610: L178:
1611: moveq #0,r0
1612: move r0,r19 ;(173)
1613: L179:
1614: move r19,RETURNVALUE ;(173)
1615:
1616: L157:
1617: movei #40,scratch
1618: jump T,(RETURNPOINT)
1619: add scratch,FP ; delay slot
1620:
1621: ;====================
1622: _PIT_CheckLine::
1623: ;3 dag registers 2 register variables
1624: ;localoffset:0 regoffset:12 argoffset:12
1625: ;====================
1626: subq #12,FP
1627:
1628: load (FP+3),r0 ; local ld
1629: movei #60,r1
1630: add r1,r0
1631: load (r0),r0
1632: moveq #0,r1
1633: cmp r0,r1
1634: movei #L185,scratch
1635: jump NE,(scratch)
1636: nop
1637:
1638: moveq #0,r0
1639: move r0,RETURNVALUE
1640:
1641: movei #L184,r0
1642: jump T,(r0)
1643: nop
1644:
1645: L185:
1646:
1647: movei #_tmthing,r0
1648: load (r0),r0
1649: movei #100,r1
1650: add r1,r0
1651: load (r0),r0
1652: movei #65536,r1
1653: and r1,r0
1654: moveq #0,r1
1655: cmp r0,r1
1656: movei #L187,scratch
1657: jump NE,(scratch)
1658: nop
1659:
1660: load (FP+3),r0 ; local ld
1661: addq #16,r0
1662: load (r0),r0
1663: moveq #1,r1
1664: and r1,r0
1665: moveq #0,r1
1666: cmp r0,r1
1667: movei #L189,scratch
1668: jump EQ,(scratch)
1669: nop
1670:
1671: moveq #0,r0
1672: move r0,RETURNVALUE
1673:
1674: movei #L184,r0
1675: jump T,(r0)
1676: nop
1677:
1678: L189:
1679:
1680: movei #_tmthing,r0
1681: load (r0),r0
1682: movei #128,r1
1683: add r1,r0
1684: load (r0),r0
1685: moveq #0,r1
1686: cmp r0,r1
1687: movei #L191,scratch
1688: jump NE,(scratch)
1689: nop
1690: load (FP+3),r0 ; local ld
1691: addq #16,r0
1692: load (r0),r0
1693: moveq #2,r1
1694: and r1,r0
1695: moveq #0,r1
1696: cmp r0,r1
1697: movei #L191,scratch
1698: jump EQ,(scratch)
1699: nop
1700:
1701: moveq #0,r0
1702: move r0,RETURNVALUE
1703:
1704: movei #L184,r0
1705: jump T,(r0)
1706: nop
1707:
1708: L191:
1709:
1710: L187:
1711:
1712: load (FP+3),r0 ; local ld
1713: movei #56,r1
1714: move r0,r2
1715: add r1,r2
1716: load (r2),r1
1717: move r1,r15 ;(front)
1718: movei #60,r1
1719: add r1,r0
1720: load (r0),r0
1721: move r0,r16 ;(back)
1722: moveq #4,r0
1723: move r15,r1 ;(front)
1724: add r0,r1
1725: load (r1),r1
1726: load (r15),r2 ;(front)
1727: cmp r1,r2
1728: movei #L195,scratch
1729: jump EQ,(scratch)
1730: nop
1731: move r16,r1 ;(back)
1732: add r0,r1
1733: load (r1),r0
1734: load (r16),r1 ;(back)
1735: cmp r0,r1
1736: movei #L193,scratch
1737: jump NE,(scratch)
1738: nop
1739: L195:
1740:
1741: movei #_blockline,r0
1742: load (FP+3),r1 ; local ld
1743: load (r0),r30 ; FUCKING dsp!
1744: or r30,r30 ; FUCKING dsp!
1745: store r1,(r0)
1746: moveq #0,r0
1747: move r0,RETURNVALUE
1748:
1749: movei #L184,r0
1750: jump T,(r0)
1751: nop
1752:
1753: L193:
1754:
1755: moveq #4,r0
1756: move r15,r1 ;(front)
1757: add r0,r1
1758: load (r1),r1
1759: move r16,r2 ;(back)
1760: add r0,r2
1761: load (r2),r0
1762: cmp r1,r0
1763: movei #L196,scratch
1764: jump EQ,(scratch)
1765: nop
1766: jump MI,(scratch)
1767: nop
1768:
1769: move FP,r0 ; &pm_opentop
1770: move r15,r1 ;(front)
1771: addq #4,r1
1772: load (r1),r1
1773: load (r0),r30 ; FUCKING dsp!
1774: or r30,r30 ; FUCKING dsp!
1775: store r1,(r0)
1776:
1777: movei #L197,r0
1778: jump T,(r0)
1779: nop
1780:
1781: L196:
1782:
1783: move FP,r0 ; &pm_opentop
1784: move r16,r1 ;(back)
1785: addq #4,r1
1786: load (r1),r1
1787: load (r0),r30 ; FUCKING dsp!
1788: or r30,r30 ; FUCKING dsp!
1789: store r1,(r0)
1790:
1791: L197:
1792:
1793: load (r15),r0 ;(front)
1794: load (r16),r1 ;(back)
1795: cmp r0,r1
1796: movei #L198,scratch
1797: jump PL,(scratch)
1798: nop
1799:
1800: move FP,r0
1801: addq #4,r0 ; &pm_openbottom
1802: load (r15),r1 ;(front)
1803: load (r0),r30 ; FUCKING dsp!
1804: or r30,r30 ; FUCKING dsp!
1805: store r1,(r0)
1806: move FP,r0
1807: addq #8,r0 ; &pm_lowfloor
1808: load (r16),r1 ;(back)
1809: load (r0),r30 ; FUCKING dsp!
1810: or r30,r30 ; FUCKING dsp!
1811: store r1,(r0)
1812:
1813: movei #L199,r0
1814: jump T,(r0)
1815: nop
1816:
1817: L198:
1818:
1819: move FP,r0
1820: addq #4,r0 ; &pm_openbottom
1821: load (r16),r1 ;(back)
1822: load (r0),r30 ; FUCKING dsp!
1823: or r30,r30 ; FUCKING dsp!
1824: store r1,(r0)
1825: move FP,r0
1826: addq #8,r0 ; &pm_lowfloor
1827: load (r15),r1 ;(front)
1828: load (r0),r30 ; FUCKING dsp!
1829: or r30,r30 ; FUCKING dsp!
1830: store r1,(r0)
1831:
1832: L199:
1833:
1834: load (FP),r0 ; local pm_opentop
1835: movei #_tmceilingz,r1
1836: load (r1),r1
1837: cmp r0,r1
1838: movei #L200,scratch
1839: jump EQ,(scratch)
1840: nop
1841: jump MI,(scratch)
1842: nop
1843:
1844: movei #_tmceilingz,r0
1845: load (FP),r1 ; local pm_opentop
1846: load (r0),r30 ; FUCKING dsp!
1847: or r30,r30 ; FUCKING dsp!
1848: store r1,(r0)
1849:
1850: L200:
1851:
1852: load (FP+1),r0 ; local pm_openbottom
1853: movei #_tmfloorz,r1
1854: load (r1),r1
1855: cmp r0,r1
1856: movei #L202,scratch
1857: jump PL,(scratch)
1858: nop
1859:
1860: movei #_tmfloorz,r0
1861: load (FP+1),r1 ; local pm_openbottom
1862: load (r0),r30 ; FUCKING dsp!
1863: or r30,r30 ; FUCKING dsp!
1864: store r1,(r0)
1865:
1866: L202:
1867:
1868: load (FP+2),r0 ; local pm_lowfloor
1869: movei #_tmdropoffz,r1
1870: load (r1),r1
1871: cmp r0,r1
1872: movei #L204,scratch
1873: jump EQ,(scratch)
1874: nop
1875: jump MI,(scratch)
1876: nop
1877:
1878: movei #_tmdropoffz,r0
1879: load (FP+2),r1 ; local pm_lowfloor
1880: load (r0),r30 ; FUCKING dsp!
1881: or r30,r30 ; FUCKING dsp!
1882: store r1,(r0)
1883:
1884: L204:
1885:
1886: moveq #1,r0
1887: move r0,RETURNVALUE
1888:
1889: L184:
1890: jump T,(RETURNPOINT)
1891: addq #12,FP ; delay slot
1892:
1893: ;====================
1894: _PIT_CheckThing::
1895: ;4 dag registers 4 register variables
1896: ;localoffset:0 regoffset:0 argoffset:0
1897: ;====================
1898:
1899: load (FP),r0 ; local thing
1900: movei #100,r1
1901: add r1,r0
1902: load (r0),r0
1903: moveq #7,r1
1904: and r1,r0
1905: moveq #0,r1
1906: cmp r0,r1
1907: movei #L207,scratch
1908: jump NE,(scratch)
1909: nop
1910:
1911: moveq #1,r0
1912: move r0,RETURNVALUE
1913:
1914: movei #L206,r0
1915: jump T,(r0)
1916: nop
1917:
1918: L207:
1919:
1920: load (FP),r0 ; local thing
1921: movei #64,r1
1922: move r0,r2
1923: add r1,r2
1924: load (r2),r2
1925: movei #_tmthing,r3
1926: load (r3),r3
1927: add r1,r3
1928: load (r3),r1
1929: add r1,r2
1930: move r2,r16 ;(blockdist)
1931: addq #12,r0
1932: load (r0),r0
1933: movei #_tmx,r1
1934: load (r1),r1
1935: sub r1,r0
1936: move r0,r15 ;(delta)
1937: moveq #0,r0
1938: cmp r15,r0 ;(delta)
1939: movei #L209,scratch
1940: jump EQ,(scratch)
1941: nop
1942: jump MI,(scratch)
1943: nop
1944:
1945: move r15,r0 ;(delta)
1946: neg r0
1947: move r0,r15 ;(delta)
1948:
1949: L209:
1950:
1951: cmp r15,r16 ;(delta)(blockdist)
1952: movei #L211,scratch
1953: jump S_LT,(scratch)
1954: nop
1955:
1956: moveq #1,r0
1957: move r0,RETURNVALUE
1958:
1959: movei #L206,r0
1960: jump T,(r0)
1961: nop
1962:
1963: L211:
1964:
1965: load (FP),r0 ; local thing
1966: addq #16,r0
1967: load (r0),r0
1968: movei #_tmy,r1
1969: load (r1),r1
1970: sub r1,r0
1971: move r0,r15 ;(delta)
1972: moveq #0,r0
1973: cmp r15,r0 ;(delta)
1974: movei #L213,scratch
1975: jump EQ,(scratch)
1976: nop
1977: jump MI,(scratch)
1978: nop
1979:
1980: move r15,r0 ;(delta)
1981: neg r0
1982: move r0,r15 ;(delta)
1983:
1984: L213:
1985:
1986: cmp r15,r16 ;(delta)(blockdist)
1987: movei #L215,scratch
1988: jump S_LT,(scratch)
1989: nop
1990:
1991: moveq #1,r0
1992: move r0,RETURNVALUE
1993:
1994: movei #L206,r0
1995: jump T,(r0)
1996: nop
1997:
1998: L215:
1999:
2000: load (FP),r0 ; local thing
2001: movei #_tmthing,r1
2002: load (r1),r1
2003: cmp r0,r1
2004: movei #L217,scratch
2005: jump NE,(scratch)
2006: nop
2007:
2008: moveq #1,r0
2009: move r0,RETURNVALUE
2010:
2011: movei #L206,r0
2012: jump T,(r0)
2013: nop
2014:
2015: L217:
2016:
2017: movei #_tmthing,r0
2018: load (r0),r0
2019: movei #100,r1
2020: add r1,r0
2021: load (r0),r0
2022: movei #16777216,r1
2023: and r1,r0
2024: moveq #0,r1
2025: cmp r0,r1
2026: movei #L219,scratch
2027: jump EQ,(scratch)
2028: nop
2029:
2030: movei #_movething,r0
2031: load (FP),r1 ; local thing
2032: load (r0),r30 ; FUCKING dsp!
2033: or r30,r30 ; FUCKING dsp!
2034: store r1,(r0)
2035: moveq #0,r0
2036: move r0,RETURNVALUE
2037:
2038: movei #L206,r0
2039: jump T,(r0)
2040: nop
2041:
2042: L219:
2043:
2044: movei #_tmthing,r0
2045: load (r0),r0
2046: movei #100,r1
2047: add r1,r0
2048: load (r0),r0
2049: movei #65536,r1
2050: and r1,r0
2051: moveq #0,r1
2052: cmp r0,r1
2053: movei #L221,scratch
2054: jump EQ,(scratch)
2055: nop
2056:
2057: movei #_tmthing,r0
2058: load (r0),r0
2059: moveq #20,r1
2060: add r1,r0
2061: load (r0),r0
2062: load (FP),r2 ; local thing
2063: move r2,r3
2064: add r1,r3
2065: load (r3),r1
2066: movei #68,r3
2067: add r3,r2
2068: load (r2),r2
2069: add r2,r1
2070: cmp r0,r1
2071: movei #L223,scratch
2072: jump PL,(scratch)
2073: nop
2074:
2075: moveq #1,r0
2076: move r0,RETURNVALUE
2077:
2078: movei #L206,r0
2079: jump T,(r0)
2080: nop
2081:
2082: L223:
2083:
2084: movei #_tmthing,r0
2085: load (r0),r0
2086: moveq #20,r1
2087: move r0,r2
2088: add r1,r2
2089: load (r2),r2
2090: movei #68,r3
2091: add r3,r0
2092: load (r0),r0
2093: add r0,r2
2094: load (FP),r0 ; local thing
2095: add r1,r0
2096: load (r0),r0
2097: cmp r2,r0
2098: movei #L225,scratch
2099: jump EQ,(scratch)
2100: nop
2101: jump MI,(scratch)
2102: nop
2103:
2104: moveq #1,r0
2105: move r0,RETURNVALUE
2106:
2107: movei #L206,r0
2108: jump T,(r0)
2109: nop
2110:
2111: L225:
2112:
2113: movei #_tmthing,r0
2114: load (r0),r0
2115: movei #116,r1
2116: add r1,r0
2117: load (r0),r0
2118: movei #84,r1
2119: add r1,r0
2120: load (r0),r0
2121: load (FP),r2 ; local thing
2122: add r1,r2
2123: load (r2),r1
2124: cmp r0,r1
2125: movei #L227,scratch
2126: jump NE,(scratch)
2127: nop
2128:
2129: load (FP),r0 ; local thing
2130: movei #_tmthing,r1
2131: load (r1),r1
2132: movei #116,r2
2133: add r2,r1
2134: load (r1),r1
2135: cmp r0,r1
2136: movei #L229,scratch
2137: jump NE,(scratch)
2138: nop
2139:
2140: moveq #1,r0
2141: move r0,RETURNVALUE
2142:
2143: movei #L206,r0
2144: jump T,(r0)
2145: nop
2146:
2147: L229:
2148:
2149: load (FP),r0 ; local thing
2150: movei #84,r1
2151: add r1,r0
2152: load (r0),r0
2153: moveq #0,r1
2154: cmp r0,r1
2155: movei #L231,scratch
2156: jump EQ,(scratch)
2157: nop
2158:
2159: moveq #0,r0
2160: move r0,RETURNVALUE
2161:
2162: movei #L206,r0
2163: jump T,(r0)
2164: nop
2165:
2166: L231:
2167:
2168: L227:
2169:
2170: load (FP),r0 ; local thing
2171: movei #100,r1
2172: add r1,r0
2173: load (r0),r0
2174: moveq #4,r1
2175: and r1,r0
2176: moveq #0,r1
2177: cmp r0,r1
2178: movei #L233,scratch
2179: jump NE,(scratch)
2180: nop
2181:
2182: load (FP),r0 ; local thing
2183: movei #100,r1
2184: add r1,r0
2185: load (r0),r0
2186: moveq #2,r1
2187: and r1,r0
2188: moveq #0,r1
2189: cmp r0,r1
2190: movei #L236,scratch
2191: jump NE,(scratch)
2192: nop
2193: moveq #1,r0
2194: move r0,r17 ;(235)
2195: movei #L237,r0
2196: jump T,(r0)
2197: nop
2198: L236:
2199: moveq #0,r0
2200: move r0,r17 ;(235)
2201: L237:
2202: move r17,RETURNVALUE ;(235)
2203:
2204: movei #L206,r0
2205: jump T,(r0)
2206: nop
2207:
2208: L233:
2209:
2210: movei #_movething,r0
2211: load (FP),r1 ; local thing
2212: load (r0),r30 ; FUCKING dsp!
2213: or r30,r30 ; FUCKING dsp!
2214: store r1,(r0)
2215: moveq #0,r0
2216: move r0,RETURNVALUE
2217:
2218: movei #L206,r0
2219: jump T,(r0)
2220: nop
2221:
2222: L221:
2223:
2224: load (FP),r0 ; local thing
2225: movei #100,r1
2226: add r1,r0
2227: load (r0),r0
2228: moveq #1,r1
2229: and r1,r0
2230: moveq #0,r1
2231: cmp r0,r1
2232: movei #L238,scratch
2233: jump EQ,(scratch)
2234: nop
2235: movei #_tmflags,r0
2236: load (r0),r0
2237: movei #2048,r2
2238: and r2,r0
2239: cmp r0,r1
2240: movei #L238,scratch
2241: jump EQ,(scratch)
2242: nop
2243:
2244: movei #_movething,r0
2245: load (FP),r1 ; local thing
2246: load (r0),r30 ; FUCKING dsp!
2247: or r30,r30 ; FUCKING dsp!
2248: store r1,(r0)
2249: moveq #1,r0
2250: move r0,RETURNVALUE
2251:
2252: movei #L206,r0
2253: jump T,(r0)
2254: nop
2255:
2256: L238:
2257:
2258: load (FP),r0 ; local thing
2259: movei #100,r1
2260: add r1,r0
2261: load (r0),r0
2262: moveq #2,r1
2263: and r1,r0
2264: moveq #0,r1
2265: cmp r0,r1
2266: movei #L241,scratch
2267: jump NE,(scratch)
2268: nop
2269: moveq #1,r0
2270: move r0,r18 ;(240)
2271: movei #L242,r0
2272: jump T,(r0)
2273: nop
2274: L241:
2275: moveq #0,r0
2276: move r0,r18 ;(240)
2277: L242:
2278: move r18,RETURNVALUE ;(240)
2279:
2280: L206:
2281: jump T,(RETURNPOINT)
2282: nop ; delay slot
2283:
2284: ;====================
2285: _PM_MoveLinesIterator::
2286: ;3 dag registers 3 register variables
2287: ;localoffset:4 regoffset:4 argoffset:32
2288: ;====================
2289: subq #32,FP
2290:
2291: load (FP+9),r0 ; local y
2292: movei #_bmapwidth,r1
2293: load (r1),r1
2294: move r0,MATH_A
2295: movei #L254,MATH_RTS
2296: movei #GPU_IMUL,scratch
2297: jump T,(scratch)
2298: move r1,MATH_B ; delay slot
2299: L254:
2300: move MATH_C,r0
2301: load (FP+8),r1 ; local x
2302: add r1,r0
2303: move r0,r17 ;(offset)
2304: movei #-1,r0
2305: move r17,r1 ;(offset)
2306: sha r0,r1
2307: movei #_blockmap,r2
2308: load (r2),r2
2309: add r2,r1
2310: loadw (r1),r1
2311: movei #$ffff8000,scratch
2312: add scratch,r1
2313: xor scratch,r1
2314: move r1,r17 ;(offset)
2315: move r17,r1 ;(offset)
2316: sha r0,r1
2317: movei #_blockmaplump,r0
2318: load (r0),r0
2319: add r0,r1
2320: move r1,r16 ;(list)
2321:
2322: movei #L247,r0
2323: jump T,(r0)
2324: nop
2325:
2326: L244:
2327:
2328: movei #76,r0
2329: loadw (r16),r1 ;(list)
2330: movei #$ffff8000,scratch
2331: add scratch,r1
2332: xor scratch,r1
2333: move r0,MATH_A
2334: movei #L255,MATH_RTS
2335: movei #GPU_IMUL,scratch
2336: jump T,(scratch)
2337: move r1,MATH_B ; delay slot
2338: L255:
2339: move MATH_C,r0
2340: movei #_lines,r1
2341: load (r1),r1
2342: add r1,r0
2343: move r0,r15 ;(ld)
2344: movei #64,r0
2345: move r15,r1 ;(ld)
2346: add r0,r1
2347: load (r1),r0
2348: movei #_validcount,r1
2349: load (r1),r1
2350: cmp r0,r1
2351: movei #L248,scratch
2352: jump NE,(scratch)
2353: nop
2354:
2355: movei #L245,r0
2356: jump T,(r0)
2357: nop
2358:
2359: L248:
2360:
2361: movei #64,r0
2362: move r15,r1 ;(ld)
2363: add r0,r1
2364: movei #_validcount,r0
2365: load (r0),r0
2366: load (r1),r30 ; FUCKING dsp!
2367: or r30,r30 ; FUCKING dsp!
2368: store r0,(r1)
2369:
2370: store r15,(FP) ; arg[] ;(ld)
2371: movei #_PM_BoxCrossLine,r0
2372: store r28,(FP+1) ; push ;(RETURNPOINT)
2373: store r17,(FP+2) ; push ;(offset)
2374: store r16,(FP+3) ; push ;(list)
2375: movei #L256,RETURNPOINT
2376: jump T,(r0)
2377: store r15,(FP+4) ; delay slot push ;(ld)
2378: L256:
2379: load (FP+2),r17 ; pop ;(offset)
2380: load (FP+3),r16 ; pop ;(list)
2381: load (FP+4),r15 ; pop ;(ld)
2382: load (FP+1), RETURNPOINT ; pop
2383: moveq #0,r0
2384: cmp r29,r0 ;(RETURNVALUE)
2385: movei #L250,scratch
2386: jump EQ,(scratch)
2387: nop
2388:
2389: store r15,(FP) ; arg[] ;(ld)
2390: movei #_PIT_CheckLine,r0
2391: store r28,(FP+1) ; push ;(RETURNPOINT)
2392: store r17,(FP+2) ; push ;(offset)
2393: store r16,(FP+3) ; push ;(list)
2394: movei #L257,RETURNPOINT
2395: jump T,(r0)
2396: store r15,(FP+4) ; delay slot push ;(ld)
2397: L257:
2398: load (FP+2),r17 ; pop ;(offset)
2399: load (FP+3),r16 ; pop ;(list)
2400: load (FP+4),r15 ; pop ;(ld)
2401: load (FP+1), RETURNPOINT ; pop
2402: moveq #0,r0
2403: cmp r29,r0 ;(RETURNVALUE)
2404: movei #L252,scratch
2405: jump NE,(scratch)
2406: nop
2407:
2408: moveq #0,r0
2409: move r0,RETURNVALUE
2410:
2411: movei #L243,r0
2412: jump T,(r0)
2413: nop
2414:
2415: L252:
2416:
2417: L250:
2418:
2419: L245:
2420:
2421: move r16,r0 ;(list)
2422: addq #2,r0
2423: move r0,r16 ;(list)
2424:
2425: L247:
2426:
2427: loadw (r16),r0 ;(list)
2428: movei #$ffff8000,scratch
2429: add scratch,r0
2430: xor scratch,r0
2431: movei #-1,r1
2432: cmp r0,r1
2433: movei #L244,scratch
2434: jump NE,(scratch)
2435: nop
2436:
2437: moveq #1,r0
2438: move r0,RETURNVALUE
2439:
2440: L243:
2441: jump T,(RETURNPOINT)
2442: addq #32,FP ; delay slot
2443:
2444: ;====================
2445: _PM_MoveThingsIterator::
2446: ;2 dag registers 1 register variables
2447: ;localoffset:4 regoffset:4 argoffset:20
2448: ;====================
2449: subq #20,FP
2450:
2451: load (FP+6),r0 ; local y
2452: movei #_bmapwidth,r1
2453: load (r1),r1
2454: move r0,MATH_A
2455: movei #L265,MATH_RTS
2456: movei #GPU_IMUL,scratch
2457: jump T,(scratch)
2458: move r1,MATH_B ; delay slot
2459: L265:
2460: move MATH_C,r0
2461: load (FP+5),r1 ; local x
2462: add r1,r0
2463: shlq #2,r0
2464: movei #_blocklinks,r1
2465: load (r1),r1
2466: add r1,r0
2467: load (r0),r0
2468: move r0,r15 ;(mobj)
2469:
2470: movei #L262,r0
2471: jump T,(r0)
2472: nop
2473:
2474: L259:
2475:
2476: store r15,(FP) ; arg[] ;(mobj)
2477: movei #_PIT_CheckThing,r0
2478: store r28,(FP+1) ; push ;(RETURNPOINT)
2479: movei #L266,RETURNPOINT
2480: jump T,(r0)
2481: store r15,(FP+2) ; delay slot push ;(mobj)
2482: L266:
2483: load (FP+2),r15 ; pop ;(mobj)
2484: load (FP+1), RETURNPOINT ; pop
2485: moveq #0,r0
2486: cmp r29,r0 ;(RETURNVALUE)
2487: movei #L263,scratch
2488: jump NE,(scratch)
2489: nop
2490:
2491: moveq #0,r0
2492: move r0,RETURNVALUE
2493:
2494: movei #L258,r0
2495: jump T,(r0)
2496: nop
2497:
2498: L263:
2499:
2500: L260:
2501:
2502: movei #44,r0
2503: move r15,r1 ;(mobj)
2504: add r0,r1
2505: load (r1),r0
2506: move r0,r15 ;(mobj)
2507:
2508: L262:
2509:
2510: move r15,r0 ;(mobj)
2511: moveq #0,r1
2512: cmp r0,r1
2513: movei #L259,scratch
2514: jump NE,(scratch)
2515: nop
2516:
2517: moveq #1,r0
2518: move r0,RETURNVALUE
2519:
2520: L258:
2521: jump T,(RETURNPOINT)
2522: addq #20,FP ; delay slot
2523:
2524: ;=======================
2525:
2526: .long
2527: _tmflags::
2528: .dc.l 0
2529: .long
2530: _tmbbox::
2531: .dc.l 0
2532: .dc.l 0
2533: .dc.l 0
2534: .dc.l 0
2535: .long
2536: _oldy::
2537: .dc.l 0
2538: .long
2539: _oldx::
2540: .dc.l 0
2541: .long
2542: _blockline::
2543: .dc.l 0
2544: .long
2545: _newsubsec::
2546: .dc.l 0
2547: .long
2548: _tmdropoffz::
2549: .dc.l 0
2550: .long
2551: _trymove2::
2552: .dc.l 0
2553: .extern _checkposonly
2554: .extern _tmy
2555: .extern _tmx
2556: .extern _tmthing
2557: .extern _PM_UnsetThingPosition
2558: .extern _PM_PointInSubsector
2559: .extern _blocklinks
2560: .extern _bmaporgy
2561: .extern _bmaporgx
2562: .extern _bmapheight
2563: .extern _bmapwidth
2564: .extern _blockmap
2565: .extern _blockmaplump
2566: .long
2567: _movething::
2568: .dc.l 0
2569: .long
2570: _tmceilingz::
2571: .dc.l 0
2572: .long
2573: _tmfloorz::
2574: .dc.l 0
2575: .long
2576: _floatok::
2577: .dc.l 0
2578: .extern _validcount
2579: .extern _lines
2580:
2581: .phrase
2582: .68000
2583: codeend:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.