Restructure repository to include all source folders

Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-29 20:17:20 +09:00
parent 5d3cd64a25
commit dd97ddec92
11602 changed files with 1446576 additions and 0 deletions

View File

@@ -0,0 +1,349 @@
//-----------------------------------------------------------------------------
//
// ImageLib Sources
// Copyright (C) 2000-2002 by Denton Woods
// Last modified: 05/25/2001 <--Y2K Compliant! =]
//
// Filename: src-IL/src/il_mng.c
//
// Description: Multiple Network Graphics (.mng) functions
//
//-----------------------------------------------------------------------------
#include "il_internal.h"
#ifndef IL_NO_MNG
#define MNG_SUPPORT_READ
#define MNG_SUPPORT_WRITE
#define MNG_SUPPORT_DISPLAY
#ifdef _WIN32
//#define MNG_USE_SO
#endif
#ifdef _WIN32
#if (defined(IL_USE_PRAGMA_LIBS))
#if defined(_MSC_VER) || defined(__BORLANDC__)
#pragma comment(lib, "DevIL_libmng.lib")
#pragma comment(lib, "DevIL_lcms.lib")
#pragma comment(lib, "DevIL_libjpeg.lib")
#pragma comment(lib, "DevIL_zlib.lib")
#endif
#endif
#endif
#include <libmng.h>
//---------------------------------------------------------------------------------------------
// memory allocation; data must be zeroed
//---------------------------------------------------------------------------------------------
mng_ptr MNG_DECL mymngalloc(mng_size_t size)
{
return (mng_ptr)icalloc(1, size);
}
//---------------------------------------------------------------------------------------------
// memory deallocation
//---------------------------------------------------------------------------------------------
void MNG_DECL mymngfree(mng_ptr p, mng_size_t size)
{
ifree(p);
}
//---------------------------------------------------------------------------------------------
// Stream open:
//---------------------------------------------------------------------------------------------
mng_bool MNG_DECL mymngopenstream(mng_handle mng)
{
return MNG_TRUE;
}
//---------------------------------------------------------------------------------------------
// Stream open for Writing:
//---------------------------------------------------------------------------------------------
mng_bool MNG_DECL mymngopenstreamwrite(mng_handle mng)
{
return MNG_TRUE;
}
//---------------------------------------------------------------------------------------------
// Stream close:
//---------------------------------------------------------------------------------------------
mng_bool MNG_DECL mymngclosestream(mng_handle mng)
{
return MNG_TRUE; // We close the file ourself, mng_cleanup doesnt seem to do it...
}
//---------------------------------------------------------------------------------------------
// feed data to the decoder
//---------------------------------------------------------------------------------------------
mng_bool MNG_DECL mymngreadstream(mng_handle mng, mng_ptr buffer, mng_size_t size, mng_uint32 *bytesread)
{
// read the requested amount of data from the file
*bytesread = iread(buffer, 1, size);
return MNG_TRUE;
}
//---------------------------------------------------------------------------------------------
// callback for writing data
//---------------------------------------------------------------------------------------------
mng_bool MNG_DECL mymngwritedata(mng_handle mng, mng_ptr buffer, mng_size_t size, mng_uint32 *byteswritten)
{
*byteswritten = iwrite(buffer, 1, size);
if (*byteswritten < size) {
ilSetError(IL_FILE_WRITE_ERROR);
return MNG_FALSE;
}
return MNG_TRUE;
}
//---------------------------------------------------------------------------------------------
// the header's been read. set up the display stuff
//---------------------------------------------------------------------------------------------
mng_bool MNG_DECL mymngprocessheader(mng_handle mng, mng_uint32 width, mng_uint32 height)
{
ILuint AlphaDepth;
AlphaDepth = mng_get_alphadepth(mng);
if (AlphaDepth == 0) {
ilTexImage(width, height, 1, 3, IL_BGR, IL_UNSIGNED_BYTE, NULL);
iCurImage->Origin = IL_ORIGIN_LOWER_LEFT;
mng_set_canvasstyle(mng, MNG_CANVAS_BGR8);
}
else { // Use alpha channel
ilTexImage(width, height, 1, 4, IL_BGRA, IL_UNSIGNED_BYTE, NULL);
iCurImage->Origin = IL_ORIGIN_LOWER_LEFT;
mng_set_canvasstyle(mng, MNG_CANVAS_BGRA8);
}
iCurImage->Origin = IL_ORIGIN_UPPER_LEFT;
return MNG_TRUE;
}
//---------------------------------------------------------------------------------------------
// return a row pointer for the decoder to fill
//---------------------------------------------------------------------------------------------
mng_ptr MNG_DECL mymnggetcanvasline(mng_handle mng, mng_uint32 line)
{
return (mng_ptr)(iCurImage->Data + iCurImage->Bps * line);
}
//---------------------------------------------------------------------------------------------
// timer
//---------------------------------------------------------------------------------------------
mng_uint32 MNG_DECL mymnggetticks(mng_handle mng)
{
return 0;
}
//---------------------------------------------------------------------------------------------
// Refresh:
//---------------------------------------------------------------------------------------------
mng_bool MNG_DECL mymngrefresh(mng_handle mng, mng_uint32 x, mng_uint32 y, mng_uint32 w, mng_uint32 h)
{
return MNG_TRUE;
}
//---------------------------------------------------------------------------------------------
// interframe delay callback
//---------------------------------------------------------------------------------------------
mng_bool MNG_DECL mymngsettimer(mng_handle mng, mng_uint32 msecs)
{
return MNG_TRUE;
}
// Make this do something different soon!
//---------------------------------------------------------------------------------------------
// Error Callback;
//---------------------------------------------------------------------------------------------
mng_bool MNG_DECL mymngerror(
mng_handle mng, mng_int32 code, mng_int8 severity,
mng_chunkid chunktype, mng_uint32 chunkseq,
mng_int32 extra1, mng_int32 extra2, mng_pchar text
)
{
// error occured;
return MNG_FALSE;
}
ILboolean iLoadMngInternal(ILvoid);
// Reads a file
ILboolean ilLoadMng(ILconst_string FileName)
{
ILHANDLE MngFile;
ILboolean bMng = IL_FALSE;
MngFile = iopenr(FileName);
if (MngFile == NULL) {
ilSetError(IL_COULD_NOT_OPEN_FILE);
return bMng;
}
bMng = ilLoadMngF(MngFile);
icloser(MngFile);
return bMng;
}
// Reads an already-opened file
ILboolean ilLoadMngF(ILHANDLE File)
{
ILuint FirstPos;
ILboolean bRet;
iSetInputFile(File);
FirstPos = itell();
bRet = iLoadMngInternal();
iseek(FirstPos, IL_SEEK_SET);
return bRet;
}
// Reads from a memory "lump"
ILboolean ilLoadMngL(const ILvoid *Lump, ILuint Size)
{
iSetInputLump(Lump, Size);
return iLoadMngInternal();
}
ILboolean iLoadMngInternal()
{
mng_handle mng;
if (iCurImage == NULL) {
ilSetError(IL_ILLEGAL_OPERATION);
return IL_FALSE;
}
mng = mng_initialize(MNG_NULL, mymngalloc, mymngfree, MNG_NULL);
if (mng == MNG_NULL) {
ilSetError(IL_LIB_MNG_ERROR);
return IL_FALSE;
}
// If .mng background is available, use it.
mng_set_usebkgd(mng, MNG_TRUE);
// Set the callbacks.
mng_setcb_errorproc(mng, mymngerror);
mng_setcb_openstream(mng, mymngopenstream);
mng_setcb_closestream(mng, mymngclosestream);
mng_setcb_readdata(mng, (mng_readdata)mymngreadstream);
mng_setcb_gettickcount(mng, mymnggetticks);
mng_setcb_settimer(mng, mymngsettimer);
mng_setcb_processheader(mng, mymngprocessheader);
mng_setcb_getcanvasline(mng, mymnggetcanvasline);
mng_setcb_refresh(mng, mymngrefresh);
mng_read(mng);
mng_display(mng);
ilFixImage();
return IL_TRUE;
}
ILboolean iSaveMngInternal(ILvoid);
//! Writes a Mng file
ILboolean ilSaveMng(ILconst_string FileName)
{
ILHANDLE MngFile;
ILboolean bMng = IL_FALSE;
if (ilGetBoolean(IL_FILE_MODE) == IL_FALSE) {
if (iFileExists(FileName)) {
ilSetError(IL_FILE_ALREADY_EXISTS);
return IL_FALSE;
}
}
MngFile = iopenw(FileName);
if (MngFile == NULL) {
ilSetError(IL_COULD_NOT_OPEN_FILE);
return bMng;
}
bMng = ilSaveMngF(MngFile);
iclosew(MngFile);
return bMng;
}
//! Writes a Mng to an already-opened file
ILboolean ilSaveMngF(ILHANDLE File)
{
iSetOutputFile(File);
return iSaveMngInternal();
}
//! Writes a Mng to a memory "lump"
ILboolean ilSaveMngL(ILvoid *Lump, ILuint Size)
{
iSetOutputLump(Lump, Size);
return iSaveMngInternal();
}
// Internal function used to save the Mng.
ILboolean iSaveMngInternal()
{
/*mng_handle mng;
if (iCurImage == NULL) {
ilSetError(IL_ILLEGAL_OPERATION);
return IL_FALSE;
}
mng = mng_initialize(MNG_NULL, mymngalloc, mymngfree, MNG_NULL);
if (mng == MNG_NULL) {
ilSetError(IL_LIB_MNG_ERROR);
return IL_FALSE;
}
mng_setcb_openstream(mng, mymngopenstreamwrite);
mng_setcb_closestream(mng, mymngclosestream);
mng_setcb_writedata(mng, mymngwritedata);
// Write File:
mng_create(mng);
// Just a single Frame (save a normal PNG):
//WritePNG( mng, 0, 1 );
// Now write file:
mng_write(mng);
mng_cleanup(&mng);*/
return IL_TRUE;
}
#endif//IL_NO_MNG