123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- //
- // Copyright 2020 Electronic Arts Inc.
- //
- // TiberianDawn.DLL and RedAlert.dll and corresponding source code is free
- // software: you can redistribute it and/or modify it under the terms of
- // the GNU General Public License as published by the Free Software Foundation,
- // either version 3 of the License, or (at your option) any later version.
- // TiberianDawn.DLL and RedAlert.dll and corresponding source code is distributed
- // in the hope that it will be useful, but with permitted additional restrictions
- // under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT
- // distributed with this program. You should have received a copy of the
- // GNU General Public License along with permitted additional restrictions
- // with this program. If not, see https://github.com/electronicarts/CnC_Remastered_Collection
- /*
- **
- ** Replacement for Shape asm files
- **
- ** ST - 12/19/2018 10:15AM
- **
- **
- **
- */
- extern "C" unsigned char *_ShapeBuffer = 0;
- extern "C" long _ShapeBufferSize = 0;
-
- /*
- ;***************************************************************************
- ;* SET_SHAPE_BUFFER -- Sets the shape buffer to the given pointer *
- ;* *
- ;* This routine will set the shape buffer to the given value and make sure *
- ;* that the system does not try to compress any shapes that will be larger *
- ;* than the shape buffer. *
- ;* *
- ;* INPUT: void * - pointer to the shape buffer *
- ;* int - size of the buffer which has been passed in *
- ;* *
- ;* OUTPUT: none *
- ;* *
- ;* PROTO: VOID *Set_Shape_Bufer(void *buffer, int size); *
- ;* *
- ;* HISTORY: *
- ;* 10/26/1994 PWG : Created. *
- ;*=========================================================================*
- */
- extern "C" void __cdecl Set_Shape_Buffer(void const *buffer, int size)
- {
- _ShapeBuffer = (unsigned char *)buffer;
- _ShapeBufferSize = size;
- }
- #if (0)
- global C ShapeBuffer :dword
- global C ShapeBufferSize :dword
- global C _ShapeBuffer :dword
- global C _ShapeBufferSize :dword
- global C Set_Shape_Buffer :near
- DATASEG
- label ShapeBuffer dword
- _ShapeBuffer dd 0
- label ShapeBufferSize dword
- _ShapeBufferSize dd 0
- CODESEG
- ;***************************************************************************
- ;* SET_SHAPE_BUFFER -- Sets the shape buffer to the given pointer *
- ;* *
- ;* This routine will set the shape buffer to the given value and make sure *
- ;* that the system does not try to compress any shapes that will be larger *
- ;* than the shape buffer. *
- ;* *
- ;* INPUT: void * - pointer to the shape buffer *
- ;* int - size of the buffer which has been passed in *
- ;* *
- ;* OUTPUT: none *
- ;* *
- ;* PROTO: VOID *Set_Shape_Bufer(void *buffer, int size); *
- ;* *
- ;* HISTORY: *
- ;* 10/26/1994 PWG : Created. *
- ;*=========================================================================*
- GLOBAL C Set_Shape_Buffer:NEAR
- PROC Set_Shape_Buffer C near
- USES eax
- ARG buff:DWORD
- ARG size:DWORD
- mov eax,[size]
- mov [_ShapeBufferSize],eax
- mov eax,[buff]
- mov [_ShapeBuffer],eax
- ret
- ENDP Set_Shape_Buffer
- END
- #endif
|