Files
firestorm/Gameleap/code/mw4/Tools/PatchIT/Span.h
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

36 lines
1.1 KiB
C++

// Span.h: interface for the Span class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SPAN_H__2D007EAB_A54F_4563_8763_33EBBC0DF18E__INCLUDED_)
#define AFX_SPAN_H__2D007EAB_A54F_4563_8763_33EBBC0DF18E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Insert.h"
#include "Delete.h"
class Span
{
protected:
DWORD Size;
BYTE *Buffer;
Span *Next,*Prev,*MappedTo;
void InsertNodeAfter(Span *span);
int FindLargestSpan(Span *comspan,DWORD *pos1,DWORD *pos2,DWORD minsize);
public:
void DeleteChildren();
Span(BYTE * loc,DWORD size,Span *mapto=NULL) {Buffer=loc; Size=size; MappedTo=Next=Prev=NULL; MappedTo=mapto;}
void SpanInfo(CString &fstr,BYTE *base1,BYTE *base2);
Span *AddSpanAt(BYTE *loc,DWORD size);
void BuildOps(Span *sspan,CPatchOperation *OpList,const BYTE *base1,const BYTE *base2);
Span *GetNextUnMapped();
int MapLargestSpan(Span *comspan,DWORD minsize=64);
virtual ~Span();
};
#endif // !defined(AFX_SPAN_H__2D007EAB_A54F_4563_8763_33EBBC0DF18E__INCLUDED_)