Sync with d1x
This commit is contained in:
parent
5431a9b0e2
commit
46a619a680
|
@ -1,12 +1,15 @@
|
|||
/*
|
||||
* $Source: /cvs/cvsroot/d2x/arch/sdl/event.c,v $
|
||||
* $Revision: 1.1 $
|
||||
* $Revision: 1.2 $
|
||||
* $Author: bradleyb $
|
||||
* $Date: 2001-10-24 09:25:05 $
|
||||
* $Date: 2001-10-31 07:41:54 $
|
||||
*
|
||||
* SDL Event related stuff
|
||||
*
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.1 2001/10/24 09:25:05 bradleyb
|
||||
* Moved input stuff to arch subdirs, as in d1x.
|
||||
*
|
||||
* Revision 1.2 2001/01/29 14:03:57 bradleyb
|
||||
* Fixed build, minor fixes
|
||||
*
|
||||
|
@ -53,8 +56,8 @@ void event_poll()
|
|||
//-killed- return;
|
||||
//end this section addition/change - Hans
|
||||
case SDL_QUIT: {
|
||||
// void quit_request();
|
||||
// quit_request();
|
||||
void quit_request();
|
||||
quit_request();
|
||||
} break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
/*
|
||||
* $Source: /cvs/cvsroot/d2x/arch/sdl/gr.c,v $
|
||||
* $Revision: 1.1 $
|
||||
* $Revision: 1.2 $
|
||||
* $Author: bradleyb $
|
||||
* $Date: 2001-10-25 08:25:34 $
|
||||
* $Date: 2001-10-31 07:41:54 $
|
||||
*
|
||||
* SDL video functions.
|
||||
*
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.1 2001/10/25 08:25:34 bradleyb
|
||||
* Finished moving stuff to arch/blah. I know, it's ugly, but It'll be easier to sync with d1x.
|
||||
*
|
||||
* Revision 1.5 2001/10/09 08:17:07 bradleyb
|
||||
* changed window caption to include version info
|
||||
*
|
||||
|
@ -80,8 +83,7 @@ void gr_palette_clear(); // Function prototype for gr_init;
|
|||
void gr_update()
|
||||
{
|
||||
//added 05/19/99 Matt Mueller - locking stuff
|
||||
//
|
||||
//gr_testunlock();
|
||||
// gr_testunlock();
|
||||
//end addition -MM
|
||||
SDL_UpdateRect(screen,0,0,0,0);
|
||||
}
|
||||
|
@ -91,6 +93,7 @@ extern int VGA_current_mode; // DPH: kludge - remove at all costs
|
|||
int gr_set_mode(u_int32_t mode)
|
||||
{
|
||||
int w,h;
|
||||
|
||||
#ifdef NOGRAPH
|
||||
return 0;
|
||||
#endif
|
||||
|
@ -161,9 +164,7 @@ int gr_check_fullscreen(void){
|
|||
|
||||
int gr_toggle_fullscreen(void){
|
||||
sdl_video_flags^=SDL_FULLSCREEN;
|
||||
/*
|
||||
grd_curscreen->sc_mode=0;//hack to get it to reset screen mode
|
||||
*/
|
||||
// grd_curscreen->sc_mode=0;//hack to get it to reset screen mode
|
||||
SDL_WM_ToggleFullScreen(screen);
|
||||
return (sdl_video_flags & SDL_FULLSCREEN)?1:0;
|
||||
}
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
/*
|
||||
* $Source: /cvs/cvsroot/d2x/arch/sdl/init.c,v $
|
||||
* $Revision: 1.4 $
|
||||
* $Revision: 1.5 $
|
||||
* $Author: bradleyb $
|
||||
* $Date: 2001-10-19 09:45:02 $
|
||||
* $Date: 2001-10-31 07:41:54 $
|
||||
*
|
||||
* SDL architecture support
|
||||
*
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.4 2001/10/19 09:45:02 bradleyb
|
||||
* Moved arch/sdl_* to arch/sdl
|
||||
*
|
||||
* Revision 1.4 2001/01/29 13:35:09 bradleyb
|
||||
* Fixed build system, minor fixes
|
||||
*
|
||||
|
@ -36,9 +39,19 @@ void arch_sdl_init()
|
|||
{
|
||||
// Initialise the library
|
||||
//edited on 01/03/99 by Matt Mueller - if we use SDL_INIT_EVERYTHING, cdrom is initialized even if -nocdaudio is used
|
||||
if (SDL_Init(
|
||||
#if 1 //SDL_VIDEO || SDL_GL
|
||||
SDL_INIT_VIDEO
|
||||
#else
|
||||
0
|
||||
#endif
|
||||
)<0) {
|
||||
//end edit -MM
|
||||
Error("SDL library initialisation failed: %s.",SDL_GetError());
|
||||
}
|
||||
#ifdef SDL_INPUT
|
||||
if (!FindArg("-nomouse"))
|
||||
d_mouse_init();
|
||||
d_mouse_init();
|
||||
#endif
|
||||
if (!FindArg("-nosound"))
|
||||
digi_init();
|
||||
|
|
13
iff/iff.c
13
iff/iff.c
|
@ -16,7 +16,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
#endif
|
||||
|
||||
#ifdef RCS
|
||||
static char rcsid[] = "$Id: iff.c,v 1.4 2001-01-31 15:17:48 bradleyb Exp $";
|
||||
static char rcsid[] = "$Id: iff.c,v 1.5 2001-10-31 07:41:54 bradleyb Exp $";
|
||||
#endif
|
||||
|
||||
#define COMPRESS 1 //do the RLE or not? (for debugging mostly)
|
||||
|
@ -144,7 +144,7 @@ int put_sig(long sig,FILE *f)
|
|||
return fputc(s[0],f);
|
||||
|
||||
}
|
||||
|
||||
|
||||
char get_byte(FFILE *f)
|
||||
{
|
||||
//return cfgetc(f);
|
||||
|
@ -156,8 +156,6 @@ int put_byte(unsigned char c,FILE *f)
|
|||
return fputc(c,f);
|
||||
}
|
||||
|
||||
|
||||
|
||||
int get_word(FFILE *f)
|
||||
{
|
||||
unsigned char c0,c1;
|
||||
|
@ -994,8 +992,8 @@ int write_body(FILE *ofile,iff_bitmap_header *bitmap_header,int compression_on)
|
|||
put_long(len,ofile);
|
||||
|
||||
//if (! (new_span = d_malloc(bitmap_header->w+(bitmap_header->w/128+2)*2))) return IFF_NO_MEM;
|
||||
MALLOC( new_span, ubyte, bitmap_header->w + (bitmap_header->w/128+2)*2);
|
||||
if (new_span == NULL) return IFF_NO_MEM;
|
||||
MALLOC( new_span, ubyte, bitmap_header->w + (bitmap_header->w/128+2)*2);
|
||||
if (new_span == NULL) return IFF_NO_MEM;
|
||||
|
||||
for (y=bitmap_header->h;y--;) {
|
||||
|
||||
|
@ -1204,8 +1202,7 @@ int iff_read_animbrush(char *ifilename,grs_bitmap **bm_list,int max_bitmaps,int
|
|||
|
||||
prev_bm = *n_bitmaps>0?bm_list[*n_bitmaps-1]:NULL;
|
||||
|
||||
MALLOC(bm_list[*n_bitmaps] , grs_bitmap, 1 );
|
||||
|
||||
MALLOC(bm_list[*n_bitmaps] , grs_bitmap, 1 );
|
||||
bm_list[*n_bitmaps]->bm_data = NULL;
|
||||
|
||||
ret = iff_parse_bitmap(&ifile,bm_list[*n_bitmaps],form_type,*n_bitmaps>0?NULL:palette,prev_bm);
|
||||
|
|
|
@ -12,13 +12,16 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
*/
|
||||
/*
|
||||
* $Source: /cvs/cvsroot/d2x/include/3d.h,v $
|
||||
* $Revision: 1.3 $
|
||||
* $Revision: 1.4 $
|
||||
* $Author: bradleyb $
|
||||
* $Date: 2001-10-25 02:06:58 $
|
||||
* $Date: 2001-10-31 07:41:54 $
|
||||
*
|
||||
* Header file for 3d library
|
||||
*
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.3 2001/10/25 02:06:58 bradleyb
|
||||
* added prototype for g3_uninit_polygon_model
|
||||
*
|
||||
* Revision 1.2 2001/01/20 13:49:14 bradleyb
|
||||
* Got rid of all compiler warnings, for non-OpenGL on linux, anyway...
|
||||
*
|
||||
|
@ -41,7 +44,9 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
#ifndef _3D_H
|
||||
#define _3D_H
|
||||
|
||||
#include "fix.h"
|
||||
#include "vecmat.h"
|
||||
#include "gr.h"
|
||||
|
||||
extern int g3d_interp_outline; //if on, polygon models outlined in white
|
||||
extern vms_vector Matrix_scale;
|
||||
|
|
|
@ -1,4 +1,14 @@
|
|||
//loadgl.h - dynamic opengl loading - curtousy (sp) of Jeff Slutter
|
||||
/*
|
||||
* $Source: /cvs/cvsroot/d2x/include/loadgl.h,v $
|
||||
* $Revision: 1.4 $
|
||||
* $Author: bradleyb $
|
||||
* $Date: 2001-10-31 07:41:54 $
|
||||
*
|
||||
* dynamic opengl loading - curtousy (sp) of Jeff Slutter
|
||||
*
|
||||
* $Log: not supported by cvs2svn $
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __LOADGL_H__
|
||||
#define __LOADGL_H__
|
||||
|
@ -17,7 +27,20 @@
|
|||
#endif
|
||||
|
||||
#include <GL/gl.h>
|
||||
#include "types.h"
|
||||
#include "pstypes.h"
|
||||
|
||||
//gl extensions.
|
||||
#ifndef GL_ARB_multitexture
|
||||
#define GL_ARB_multitexture 1
|
||||
#define GL_TEXTURE0_ARB 0x84C0
|
||||
#define GL_TEXTURE1_ARB 0x84C1
|
||||
#endif
|
||||
|
||||
#ifndef GL_SGIS_multitexture
|
||||
#define GL_SGIS_multitexture 1
|
||||
#define GL_TEXTURE0_SGIS 0x835F
|
||||
#define GL_TEXTURE1_SGIS 0x8360
|
||||
#endif
|
||||
|
||||
#ifdef _cplusplus
|
||||
#define OEXTERN extern "C"
|
||||
|
@ -370,6 +393,10 @@
|
|||
#define glVertexPointer dglVertexPointer
|
||||
#define glViewport dglViewport
|
||||
|
||||
#define glMultiTexCoord2fARB dglMultiTexCoord2fARB
|
||||
#define glActiveTextureARB dglActiveTextureARB
|
||||
#define glMultiTexCoord2fSGIS dglMultiTexCoord2fSGIS
|
||||
#define glSelectTextureSGIS dglSelectTextureSGIS
|
||||
|
||||
#ifdef WIN32
|
||||
#define wglCopyContext dwglCopyContext
|
||||
|
@ -732,6 +759,11 @@ typedef void (OGLFUNCCALL *glVertex4sv_fp)(const GLshort *v);
|
|||
typedef void (OGLFUNCCALL *glVertexPointer_fp)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
|
||||
typedef void (OGLFUNCCALL *glViewport_fp)(GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
|
||||
typedef void (OGLFUNCCALL *glMultiTexCoord2fARB_fp)(GLenum target, GLfloat s, GLfloat t);
|
||||
typedef void (OGLFUNCCALL *glActiveTextureARB_fp)(GLenum target);
|
||||
typedef void (OGLFUNCCALL *glMultiTexCoord2fSGIS_fp)(GLenum target, GLfloat s, GLfloat t);
|
||||
typedef void (OGLFUNCCALL *glSelectTextureSGIS_fp)(GLenum target);
|
||||
|
||||
#ifdef WIN32
|
||||
typedef BOOL (OGLFUNCCALL *wglCopyContext_fp)(HGLRC, HGLRC, UINT);
|
||||
typedef HGLRC (OGLFUNCCALL *wglCreateContext_fp)(HDC);
|
||||
|
@ -1093,6 +1125,11 @@ DEFVAR glVertex4sv_fp dglVertex4sv;
|
|||
DEFVAR glVertexPointer_fp dglVertexPointer;
|
||||
DEFVAR glViewport_fp dglViewport;
|
||||
|
||||
DEFVAR glMultiTexCoord2fARB_fp dglMultiTexCoord2fARB;
|
||||
DEFVAR glActiveTextureARB_fp dglActiveTextureARB;
|
||||
DEFVAR glMultiTexCoord2fSGIS_fp dglMultiTexCoord2fSGIS;
|
||||
DEFVAR glSelectTextureSGIS_fp dglSelectTextureSGIS;
|
||||
|
||||
#ifdef WIN32
|
||||
DEFVAR wglCopyContext_fp dwglCopyContext;
|
||||
DEFVAR wglCreateContext_fp dwglCreateContext;
|
||||
|
@ -1904,6 +1941,11 @@ void OpenGL_SetFuncsToNull(void)
|
|||
dglVertexPointer = NULL;
|
||||
dglViewport = NULL;
|
||||
|
||||
dglMultiTexCoord2fARB = NULL;
|
||||
dglActiveTextureARB = NULL;
|
||||
dglMultiTexCoord2fSGIS = NULL;
|
||||
dglSelectTextureSGIS = NULL;
|
||||
|
||||
#ifdef WIN32
|
||||
dwglCopyContext = NULL;
|
||||
dwglCreateContext = NULL;
|
||||
|
|
|
@ -13,13 +13,16 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
|
||||
/*
|
||||
* $Source: /cvs/cvsroot/d2x/main/inferno.c,v $
|
||||
* $Revision: 1.12 $
|
||||
* $Revision: 1.13 $
|
||||
* $Author: bradleyb $
|
||||
* $Date: 2001-10-27 01:39:23 $
|
||||
* $Date: 2001-10-31 07:41:54 $
|
||||
*
|
||||
* FIXME: put description here
|
||||
*
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.12 2001/10/27 01:39:23 bradleyb
|
||||
* added some documentation
|
||||
*
|
||||
* Revision 1.11 2001/10/25 09:12:16 bradleyb
|
||||
* Completed tmap selection code.
|
||||
*
|
||||
|
@ -970,3 +973,13 @@ void check_joystick_calibration() {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
void quit_request()
|
||||
{
|
||||
#ifdef NETWORK
|
||||
// void network_abort_game();
|
||||
// if(Network_status)
|
||||
// network_abort_game();
|
||||
#endif
|
||||
exit(0);
|
||||
}
|
||||
|
|
11
maths/fixc.c
11
maths/fixc.c
|
@ -12,13 +12,16 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
*/
|
||||
/*
|
||||
* $Source: /cvs/cvsroot/d2x/maths/fixc.c,v $
|
||||
* $Revision: 1.2 $
|
||||
* $Revision: 1.3 $
|
||||
* $Author: bradleyb $
|
||||
* $Date: 2001-01-31 15:18:04 $
|
||||
* $Date: 2001-10-31 07:41:54 $
|
||||
*
|
||||
* C version of fixed point library
|
||||
*
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.2 2001/01/31 15:18:04 bradleyb
|
||||
* Makefile and conf.h fixes
|
||||
*
|
||||
* Revision 1.1.1.1 2001/01/19 03:29:58 bradleyb
|
||||
* Import of d2x-0.0.8
|
||||
*
|
||||
|
@ -66,7 +69,7 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
#endif
|
||||
|
||||
#ifdef RCS
|
||||
static char rcsid[] = "$Id: fixc.c,v 1.2 2001-01-31 15:18:04 bradleyb Exp $";
|
||||
static char rcsid[] = "$Id: fixc.c,v 1.3 2001-10-31 07:41:54 bradleyb Exp $";
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
|
@ -75,7 +78,6 @@ static char rcsid[] = "$Id: fixc.c,v 1.2 2001-01-31 15:18:04 bradleyb Exp $";
|
|||
#include "error.h"
|
||||
#include "maths.h"
|
||||
|
||||
#ifndef NO_ASM
|
||||
#ifdef NO_FIX_INLINE
|
||||
#ifdef _MSC_VER
|
||||
#pragma message ("warning: FIX NOT INLINED")
|
||||
|
@ -83,7 +85,6 @@ static char rcsid[] = "$Id: fixc.c,v 1.2 2001-01-31 15:18:04 bradleyb Exp $";
|
|||
#warning "FIX NOT INLINED"
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
extern ubyte guess_table[];
|
||||
extern short sincos_table[];
|
||||
|
|
|
@ -12,13 +12,16 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
*/
|
||||
/*
|
||||
* $Source: /cvs/cvsroot/d2x/maths/vecmat.c,v $
|
||||
* $Revision: 1.2 $
|
||||
* $Revision: 1.3 $
|
||||
* $Author: bradleyb $
|
||||
* $Date: 2001-01-31 15:18:04 $
|
||||
* $Date: 2001-10-31 07:41:54 $
|
||||
*
|
||||
* C version of vecmat library
|
||||
*
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.2 2001/01/31 15:18:04 bradleyb
|
||||
* Makefile and conf.h fixes
|
||||
*
|
||||
* Revision 1.1.1.2 2001/01/19 03:33:42 bradleyb
|
||||
* Import of d2x-0.0.9-pre1
|
||||
*
|
||||
|
@ -54,7 +57,7 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
#endif
|
||||
|
||||
#ifdef RCS
|
||||
static char rcsid[] = "$Id: vecmat.c,v 1.2 2001-01-31 15:18:04 bradleyb Exp $";
|
||||
static char rcsid[] = "$Id: vecmat.c,v 1.3 2001-10-31 07:41:54 bradleyb Exp $";
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
|
@ -66,26 +69,7 @@ static char rcsid[] = "$Id: vecmat.c,v 1.2 2001-01-31 15:18:04 bradleyb Exp $";
|
|||
|
||||
//#define USE_ISQRT 1
|
||||
|
||||
|
||||
// DPH: Kludge: this was overflowing a lot, so I made it use the FPU.
|
||||
//scales a vector in place, taking n/d for scale. returns ptr to vector
|
||||
//dest *= n/d
|
||||
vms_vector *vm_vec_scale2(vms_vector *dest,fix n,fix d)
|
||||
{
|
||||
float nd;
|
||||
// printf("scale n=%d d=%d\n",n,d);
|
||||
nd = f2fl(n) / f2fl(d);
|
||||
dest->x = fl2f( f2fl(dest->x) * nd);
|
||||
dest->y = fl2f( f2fl(dest->y) * nd);
|
||||
dest->z = fl2f( f2fl(dest->z) * nd);
|
||||
/* dest->x = fixmuldiv(dest->x,n,d);
|
||||
dest->y = fixmuldiv(dest->y,n,d);
|
||||
dest->z = fixmuldiv(dest->z,n,d);*/
|
||||
|
||||
return dest;
|
||||
}
|
||||
|
||||
#ifdef NO_ASM
|
||||
#ifndef ASM_VECMAT
|
||||
vms_vector vmd_zero_vector = {0,0,0};
|
||||
vms_matrix vmd_identity_matrix = { { f1_0,0,0 },
|
||||
{ 0,f1_0,0 },
|
||||
|
@ -204,14 +188,23 @@ vms_vector *vm_vec_scale_add2(vms_vector *dest,vms_vector *src,fix k)
|
|||
|
||||
//scales a vector in place, taking n/d for scale. returns ptr to vector
|
||||
//dest *= n/d
|
||||
/*vms_vector *vm_vec_scale2(vms_vector *dest,fix n,fix d)
|
||||
vms_vector *vm_vec_scale2(vms_vector *dest,fix n,fix d)
|
||||
{
|
||||
#if 1 // DPH: Kludge: this was overflowing a lot, so I made it use the FPU.
|
||||
float nd;
|
||||
// printf("scale n=%d d=%d\n",n,d);
|
||||
nd = f2fl(n) / f2fl(d);
|
||||
dest->x = fl2f( f2fl(dest->x) * nd);
|
||||
dest->y = fl2f( f2fl(dest->y) * nd);
|
||||
dest->z = fl2f( f2fl(dest->z) * nd);
|
||||
#else
|
||||
dest->x = fixmuldiv(dest->x,n,d);
|
||||
dest->y = fixmuldiv(dest->y,n,d);
|
||||
dest->z = fixmuldiv(dest->z,n,d);
|
||||
#endif
|
||||
|
||||
return dest;
|
||||
}*/
|
||||
}
|
||||
|
||||
fix vm_vec_dotprod(vms_vector *v0,vms_vector *v1)
|
||||
{
|
||||
|
|
|
@ -10,13 +10,16 @@
|
|||
;COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
||||
;
|
||||
; $Source: /cvs/cvsroot/d2x/maths/vecmata.asm,v $
|
||||
; $Revision: 1.2 $
|
||||
; $Revision: 1.3 $
|
||||
; $Author: bradleyb $
|
||||
; $Date: 2001-10-19 09:34:02 $
|
||||
; $Date: 2001-10-31 07:41:54 $
|
||||
;
|
||||
; Source for vector/matrix library
|
||||
;
|
||||
; $Log: not supported by cvs2svn $
|
||||
; Revision 1.2 2001/10/19 09:34:02 bradleyb
|
||||
; Changed __ENV_LINUX__ to __linux__
|
||||
;
|
||||
; Revision 1.1.1.1 2001/01/19 03:29:58 bradleyb
|
||||
; Import of d2x-0.0.8
|
||||
;
|
||||
|
@ -536,27 +539,27 @@ _vm_vec_scale_add2:
|
|||
; vec *vm_vec_scale2(vec *dest, fix n, fix d);
|
||||
; returns dest
|
||||
; dest*=n/d
|
||||
;_vm_vec_scale2:
|
||||
; push ebx
|
||||
; push edi
|
||||
; mov edi,[esp+12]
|
||||
; mov ebx,[esp+16]
|
||||
; mov ecx,[esp+20]
|
||||
; or ecx,ecx
|
||||
; je no_scale2
|
||||
;%assign i 0
|
||||
;%rep 3
|
||||
; mov eax,[edi+i]
|
||||
; imul ebx
|
||||
; idiv ecx
|
||||
; mov [edi+i],eax
|
||||
;%assign i i+4
|
||||
;%endrep
|
||||
;no_scale2:
|
||||
; mov eax,edi
|
||||
; pop edi
|
||||
; pop ebx
|
||||
; ret
|
||||
_vm_vec_scale2:
|
||||
push ebx
|
||||
push edi
|
||||
mov edi,[esp+12]
|
||||
mov ebx,[esp+16]
|
||||
mov ecx,[esp+20]
|
||||
or ecx,ecx
|
||||
je no_scale2
|
||||
%assign i 0
|
||||
%rep 3
|
||||
mov eax,[edi+i]
|
||||
imul ebx
|
||||
idiv ecx
|
||||
mov [edi+i],eax
|
||||
%assign i i+4
|
||||
%endrep
|
||||
no_scale2:
|
||||
mov eax,edi
|
||||
pop edi
|
||||
pop ebx
|
||||
ret
|
||||
|
||||
;compute magnitude of vector. takes esi=vector, returns eax=mag
|
||||
_vm_vec_mag:
|
||||
|
|
Loading…
Reference in a new issue