mirror of
https://codeberg.org/KeybadeBlox/JSRF-Decompilation.git
synced 2026-02-20 10:17:03 +03:00
Compile XDK code as C
It appears to be all C code (especially the non-C++ parts of the C runtime, of course), so we'll compile it as such.
This commit is contained in:
parent
149af27b9c
commit
d435282a8b
9 changed files with 48 additions and 23 deletions
|
|
@ -7,8 +7,8 @@ Game and GameObj classes that form the foundation of the JSRF game code.
|
|||
|
||||
#include "../Smilebit/MMatrix.hpp"
|
||||
#include "../Std.hpp"
|
||||
#include "../XDK/D3D.hpp"
|
||||
#include "../XDK/Win32.hpp"
|
||||
#include "../XDK/D3D.h"
|
||||
#include "../XDK/Win32.h"
|
||||
|
||||
|
||||
// TODO; move to header for Graphics COM object in Smilebit libraries
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ Save data and closely-related runtime data.
|
|||
|
||||
#pragma bss_seg(".data")
|
||||
|
||||
#include "../XDK/Win32.hpp"
|
||||
#include "../XDK/Win32.h"
|
||||
#include "GameData.hpp"
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ Save data and closely-related runtime data.
|
|||
#ifndef GAMEDATA_HPP
|
||||
#define GAMEDATA_HPP
|
||||
|
||||
#include "../XDK/Win32.hpp"
|
||||
#include "../XDK/Win32.h"
|
||||
|
||||
|
||||
// Data structure actually saved to disk
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ Smilebit's stack-based matrix math library.
|
|||
|
||||
|
||||
#include "../Std.hpp"
|
||||
#include "../XDK/Win32.hpp"
|
||||
#include "../XDK/Win32.h"
|
||||
#include "MMatrix.hpp"
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ Smilebit's stack-based matrix math library.
|
|||
#ifndef MMATRIX_HPP
|
||||
#define MMATRIX_HPP
|
||||
|
||||
#include "../XDK/D3D.hpp"
|
||||
#include "../XDK/D3D.h"
|
||||
|
||||
|
||||
// 4x4 matrix type
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
/* JSRF Decompilation: XDK/CRT0.cpp
|
||||
/* JSRF Decompilation: XDK/CRT0.c
|
||||
C runtime initialization.
|
||||
Like other CRT code, there's some magic here with symbols that get special
|
||||
treatment from the compiler and linker.
|
||||
*/
|
||||
|
||||
#include "../Win32.hpp"
|
||||
#include "../Win32.h"
|
||||
|
||||
|
||||
// Every program is supposed to have a main(), so we can just assume its
|
||||
// existence with a declaration here
|
||||
int main();
|
||||
int main(void);
|
||||
|
||||
|
||||
void __cdecl mainCRTStartup ();
|
||||
static DWORD __stdcall mainXapiStartup(LPVOID lpThreadParameter);
|
||||
void __cdecl mainCRTStartup (void);
|
||||
DWORD __stdcall mainXapiStartup(LPVOID lpThreadParameter);
|
||||
|
||||
|
||||
// Address: 0x00148023
|
||||
// Matching: no
|
||||
void __cdecl mainCRTStartup() {
|
||||
void __cdecl mainCRTStartup(void) {
|
||||
/* The true entrypoint of the game, spawning a thread for the rest to run in
|
||||
The linker automatically sets this function to the entrypoint.
|
||||
*/
|
||||
|
|
@ -1,11 +1,16 @@
|
|||
/* JSRF Decompilation: XDK/D3D.hpp
|
||||
/* JSRF Decompilation: XDK/D3D.h
|
||||
Direct3D8 declarations.
|
||||
*/
|
||||
|
||||
#ifndef D3D_HPP
|
||||
#define D3D_HPP
|
||||
#ifndef D3D_H
|
||||
#define D3D_H
|
||||
|
||||
#include "Win32.hpp"
|
||||
#include "Win32.h"
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
typedef DWORD D3DCOLOR;
|
||||
|
|
@ -21,4 +26,10 @@ struct D3DRECT {
|
|||
LONG x1, y1, x2, y2;
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
|
@ -1,9 +1,15 @@
|
|||
/* JSRF Decompilation: XDK/Win32.hpp
|
||||
/* JSRF Decompilation: XDK/Win32.h
|
||||
Definitions normally provided by Windows headers.
|
||||
*/
|
||||
|
||||
#ifndef WIN32_HPP
|
||||
#define WIN32_HPP
|
||||
#ifndef WIN32_H
|
||||
#define WIN32_H
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
// The famous Win32 typedefs
|
||||
typedef unsigned char UCHAR;
|
||||
|
|
@ -55,4 +61,10 @@ LPVOID __stdcall VirtualAlloc(
|
|||
DWORD flProtect
|
||||
);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue