Making sure code is in executable sections Round 4. Fixed a very weird section change mid macro in video code - perhaps fixed CT Black Omen bug.
This commit is contained in:
@@ -20,6 +20,8 @@
|
||||
|
||||
; Tools for the GUI (string functions are also used elsewhere)
|
||||
|
||||
SECTION .text
|
||||
|
||||
NEWSYM CopyString
|
||||
push eax
|
||||
.again
|
||||
|
||||
@@ -56,6 +56,8 @@ EXTSYM Grab_PNG_Data
|
||||
popad
|
||||
%endmacro
|
||||
|
||||
SECTION .text
|
||||
|
||||
GUIBufferData:
|
||||
mov ecx,16384
|
||||
cmp byte[cbitmode],1
|
||||
@@ -1144,7 +1146,7 @@ SECTION .bss
|
||||
|
||||
NEWSYM picnum, resw 1
|
||||
|
||||
SECTION .data
|
||||
SECTION .text
|
||||
|
||||
NEWSYM savepcx
|
||||
%ifndef NO_PNG
|
||||
|
||||
@@ -38,24 +38,6 @@
|
||||
;----------------------
|
||||
|
||||
BITS 32
|
||||
%ifdef __DJGPP__
|
||||
; GLOBAL __2xSaILine
|
||||
; GLOBAL __2xSaISuperEagleLine
|
||||
; GLOBAL _Init_2xSaIMMX
|
||||
%else
|
||||
GLOBAL _2xSaILine
|
||||
GLOBAL _2xSaISuperEagleLine
|
||||
GLOBAL Init_2xSaIMMX
|
||||
%endif
|
||||
SECTION .text
|
||||
|
||||
%ifdef __DJGPP__
|
||||
;EXTERN_C void __2xSaILine (uint8 *srcPtr, uint32 srcPitch, uint32 width,
|
||||
; uint8 *dstPtr, uint32 dstPitch, uint16 dstSegment);
|
||||
%else
|
||||
;EXTERN_C void _2xSaILine (uint8 *srcPtr, uint32 srcPitch, uint32 width,
|
||||
; uint8 *dstPtr, uint32 dstPitch);
|
||||
%endif
|
||||
|
||||
srcPtr equ 8
|
||||
deltaPtr equ 12
|
||||
@@ -96,7 +78,7 @@ colorA3 equ 4
|
||||
|
||||
|
||||
|
||||
|
||||
SECTION .text
|
||||
|
||||
NEWSYM _2xSaISuper2xSaILine
|
||||
; Store some stuff
|
||||
|
||||
@@ -2118,7 +2118,7 @@ HighResProc:
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
FuncTable
|
||||
FuncTable:
|
||||
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
||||
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
||||
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
||||
@@ -2152,7 +2152,7 @@ FuncTable
|
||||
dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
|
||||
dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
|
||||
|
||||
FuncTable2
|
||||
FuncTable2:
|
||||
dd ..@cross0, ..@cross1, ..@cross2, ..@flag0,
|
||||
dd ..@cross4, ..@flag0, ..@flag0, ..@flag0,
|
||||
dd ..@cross8, ..@flag0, ..@flag0, ..@flag0,
|
||||
|
||||
@@ -2089,7 +2089,7 @@ HighResProc:
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
FuncTable
|
||||
FuncTable:
|
||||
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
||||
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
||||
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
||||
@@ -2123,7 +2123,7 @@ FuncTable
|
||||
dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
|
||||
dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
|
||||
|
||||
FuncTable2
|
||||
FuncTable2:
|
||||
dd ..@cross0, ..@cross1, ..@cross2, ..@crossN,
|
||||
dd ..@cross4, ..@crossN, ..@crossN, ..@crossN,
|
||||
dd ..@cross8, ..@crossN, ..@crossN, ..@crossN,
|
||||
|
||||
@@ -2705,7 +2705,7 @@ HighResProc:
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
FuncTable
|
||||
FuncTable:
|
||||
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
||||
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
||||
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
||||
@@ -2739,7 +2739,7 @@ FuncTable
|
||||
dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
|
||||
dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
|
||||
|
||||
FuncTable2
|
||||
FuncTable2:
|
||||
dd ..@cross0, ..@cross1, ..@cross2, ..@flag0,
|
||||
dd ..@cross4, ..@flag0, ..@flag0, ..@flag0,
|
||||
dd ..@cross8, ..@flag0, ..@flag0, ..@flag0,
|
||||
|
||||
@@ -2767,7 +2767,7 @@ HighResProc:
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
FuncTable
|
||||
FuncTable:
|
||||
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
||||
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
||||
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
||||
@@ -2801,7 +2801,7 @@ FuncTable
|
||||
dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
|
||||
dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
|
||||
|
||||
FuncTable2
|
||||
FuncTable2:
|
||||
dd ..@cross0, ..@cross1, ..@cross2, ..@crossN,
|
||||
dd ..@cross4, ..@crossN, ..@crossN, ..@crossN,
|
||||
dd ..@cross8, ..@crossN, ..@crossN, ..@crossN,
|
||||
|
||||
@@ -4238,7 +4238,7 @@ HighResProc:
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
FuncTable
|
||||
FuncTable:
|
||||
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
||||
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
||||
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
||||
|
||||
@@ -4161,7 +4161,7 @@ HighResProc:
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
FuncTable
|
||||
FuncTable:
|
||||
dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
|
||||
dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
|
||||
dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
|
||||
|
||||
@@ -668,36 +668,39 @@ EXTSYM fulladdtab,cwinptr
|
||||
jnz near .offscrtrc
|
||||
jmp .goon
|
||||
|
||||
SECTION .bss
|
||||
.temp resd 1 ; for byte move left
|
||||
.mode7xpos resd 1 ; x position
|
||||
.tempa2 resd 1 ; keep this blank!
|
||||
.mode7xrpos resd 1 ; x position
|
||||
.tempa resd 1 ; keep this blank!
|
||||
.mode7ypos resd 1 ; y position
|
||||
.tempb2 resd 1 ; keep this blank!
|
||||
.mode7yrpos resd 1 ; y position
|
||||
.tempb resd 1 ; keep this blank!
|
||||
.mode7xadder resd 1 ; number to add for x
|
||||
.tempc2 resd 1 ; keep this blank!
|
||||
.mode7xadd2 resd 1 ; number to add for x
|
||||
.tempc resd 1 ; keep this blank!
|
||||
.mode7yadder resd 1 ; number to add for y
|
||||
.tempd2 resd 1 ; keep this blank!
|
||||
.mode7yadd2 resd 1 ; number to add for y
|
||||
.tempd resd 1 ; keep this blank!
|
||||
.mode7ptr resd 1 ; pointer value
|
||||
.mode7xinc resd 1 ; number to add for x
|
||||
.mode7yinc resd 1 ; number to add for y
|
||||
.mode7xsloc resd 1 ; which screen x
|
||||
.mode7ysloc resd 1 ; which screen y
|
||||
.mode7xsrl resd 1 ; which relative screen x
|
||||
.mode7ysrl resd 1 ; which relative screen y
|
||||
.cxloc resd 1 ; cx location
|
||||
.cyloc resd 1 ; cy location
|
||||
SECTION .data
|
||||
ALIGN32
|
||||
.temp dd 0 ; for byte move left
|
||||
.mode7xpos dd 0 ; x position
|
||||
.tempa2 dd 0 ; keep this blank!
|
||||
.mode7xrpos dd 0 ; x position
|
||||
.tempa dd 0 ; keep this blank!
|
||||
.mode7ypos dd 0 ; y position
|
||||
.tempb2 dd 0 ; keep this blank!
|
||||
.mode7yrpos dd 0 ; y position
|
||||
.tempb dd 0 ; keep this blank!
|
||||
.mode7xadder dd 0 ; number to add for x
|
||||
.tempc2 dd 0 ; keep this blank!
|
||||
.mode7xadd2 dd 0 ; number to add for x
|
||||
.tempc dd 0 ; keep this blank!
|
||||
.mode7yadder dd 0 ; number to add for y
|
||||
.tempd2 dd 0 ; keep this blank!
|
||||
.mode7yadd2 dd 0 ; number to add for y
|
||||
.tempd dd 0 ; keep this blank!
|
||||
.mode7ptr dd 0 ; pointer value
|
||||
.mode7xinc dd 0 ; number to add for x
|
||||
.mode7yinc dd 0 ; number to add for y
|
||||
.mode7xsloc dd 0 ; which screen x
|
||||
.mode7ysloc dd 0 ; which screen y
|
||||
.mode7xsrl dd 0 ; which relative screen x
|
||||
.mode7ysrl dd 0 ; which relative screen y
|
||||
.cxloc dd 0 ; cx location
|
||||
.cyloc dd 0 ; cy location
|
||||
|
||||
SECTION .text
|
||||
%endmacro
|
||||
|
||||
SECTION .text
|
||||
;*******************************************************
|
||||
; Processes & Draws Mode 7 half Addition
|
||||
;*******************************************************
|
||||
|
||||
@@ -56,6 +56,8 @@ EXTSYM ofsmmptr,ofsmcyps,bgtxadd,bg1ptrx,bg1ptry,a16x16xinc,a16x16yinc
|
||||
; use bg1ptr(b,c,d) for the pointer to the tile number contents
|
||||
; use bg1objptr for the pointer to the object tile contents
|
||||
|
||||
SECTION .text
|
||||
|
||||
NEWSYM makedualwincol
|
||||
mov dl,[winlogicb]
|
||||
shr dl,2
|
||||
@@ -1954,7 +1956,7 @@ NEWSYM clearback16bdualrev2
|
||||
|
||||
SECTION .bss
|
||||
NEWSYM DoTransp, resb 1
|
||||
SECTION .data
|
||||
SECTION .text
|
||||
|
||||
;*******************************************************
|
||||
; Clear Backarea, 16-bit mode w/ transparency
|
||||
|
||||
@@ -52,6 +52,8 @@ EXTSYM ngcwinptr,domosaicng,pesimpng,mode7hr,BGMA,mode7ab,mode7cd,BG1SYl,BG1SXl
|
||||
inc ebp
|
||||
%endmacro
|
||||
|
||||
SECTION .text
|
||||
|
||||
NEWSYM Makemode7Table
|
||||
xor eax,eax
|
||||
.nextentry
|
||||
|
||||
@@ -275,6 +275,8 @@ EXTSYM vidbright,prevbrightdc,Gendcolortable,mode7ab,mode7cd,BGMA,BG1SXl,BG1SYl
|
||||
add esi,2
|
||||
%endmacro
|
||||
|
||||
SECTION .text
|
||||
|
||||
NEWSYM drawmode7win16b
|
||||
test byte[scrndis],1
|
||||
jz .notdisabled
|
||||
|
||||
Reference in New Issue
Block a user