Work on 64 bit systems.
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@1622 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
+21
-10
@@ -25,9 +25,19 @@
|
|||||||
|
|
||||||
#include "coderes.h"
|
#include "coderes.h"
|
||||||
#include "races.h"
|
#include "races.h"
|
||||||
|
|
||||||
|
#include "libs/compiler.h"
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
MEM_HANDLE handle _ALIGNED_ON(sizeof (MEM_HANDLE));
|
||||||
|
RACE_DESC data _ALIGNED_ANY;
|
||||||
|
} CODERES_STRUCT;
|
||||||
|
|
||||||
|
|
||||||
MEM_HANDLE
|
MEM_HANDLE
|
||||||
LoadVidInstance (DWORD res)
|
LoadVidInstance (DWORD res)
|
||||||
{
|
{
|
||||||
@@ -82,7 +92,7 @@ enum
|
|||||||
MEM_HANDLE hData;
|
MEM_HANDLE hData;
|
||||||
|
|
||||||
which_res = GetResFileChar (fp);
|
which_res = GetResFileChar (fp);
|
||||||
hData = mem_request (sizeof (MEM_HANDLE) + sizeof (RACE_DESC));
|
hData = mem_request (sizeof (CODERES_STRUCT));
|
||||||
if (hData)
|
if (hData)
|
||||||
{
|
{
|
||||||
RACE_DESCPTR RDPtr;
|
RACE_DESCPTR RDPtr;
|
||||||
@@ -298,10 +308,11 @@ enum
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MEM_HANDLE *lp;
|
CODERES_STRUCT *cs;
|
||||||
|
|
||||||
lp = (MEM_HANDLE *)mem_lock (hData);
|
cs = (CODERES_STRUCT *) mem_lock (hData);
|
||||||
*((RACE_DESCPTR)&lp[1]) = *RDPtr;
|
cs->data = *RDPtr;
|
||||||
|
// Structure assignment.
|
||||||
mem_unlock (hData);
|
mem_unlock (hData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -341,20 +352,20 @@ DestroyCodeRes (MEM_HANDLE hCode)
|
|||||||
PVOID
|
PVOID
|
||||||
CaptureCodeRes (MEM_HANDLE hCode, PVOID pData, PVOID *ppLocData)
|
CaptureCodeRes (MEM_HANDLE hCode, PVOID pData, PVOID *ppLocData)
|
||||||
{
|
{
|
||||||
MEM_HANDLE *p;
|
CODERES_STRUCT *cs;
|
||||||
|
|
||||||
if(hCode==0)
|
if (hCode == 0)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Ack! dummy.c::CaptureCodeRes() hCode==0! FATAL!\n");
|
fprintf(stderr, "Ack! dummy.c::CaptureCodeRes() hCode==0! FATAL!\n");
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
p = (MEM_HANDLE *)mem_lock (hCode);
|
cs = (CODERES_STRUCT *) mem_lock (hCode);
|
||||||
*p = hCode;
|
cs->handle = hCode;
|
||||||
*ppLocData = &p[1];
|
*ppLocData = (void *) &cs->data;
|
||||||
|
|
||||||
(void) pData; /* Satisfying compiler (unused parameter) */
|
(void) pData; /* Satisfying compiler (unused parameter) */
|
||||||
return (p);
|
return (void *) cs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ if (master_q.head != 0)
|
|||||||
SHIP_INFOPTR ShipInfoPtr;
|
SHIP_INFOPTR ShipInfoPtr;
|
||||||
|
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
|
// XXX: what is this doing here?
|
||||||
|
|
||||||
BuiltShipPtr = LockStarShip (&master_q, hBuiltShip);
|
BuiltShipPtr = LockStarShip (&master_q, hBuiltShip);
|
||||||
load_ship (BuiltShipPtr, FALSE);
|
load_ship (BuiltShipPtr, FALSE);
|
||||||
@@ -92,6 +93,7 @@ if (master_q.head != 0)
|
|||||||
}
|
}
|
||||||
|
|
||||||
TaskSwitch ();
|
TaskSwitch ();
|
||||||
|
// XXX: what is this doing here?
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
+35
-20
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#include "units.h"
|
#include "units.h"
|
||||||
#include "element.h"
|
#include "element.h"
|
||||||
|
#include "libs/compiler.h"
|
||||||
#include "libs/sndlib.h"
|
#include "libs/sndlib.h"
|
||||||
|
|
||||||
|
|
||||||
@@ -62,7 +63,11 @@
|
|||||||
|
|
||||||
typedef struct captain_stuff
|
typedef struct captain_stuff
|
||||||
{
|
{
|
||||||
FRAME background, turn, thrust, weapon, special;
|
FRAME background;
|
||||||
|
FRAME turn;
|
||||||
|
FRAME thrust;
|
||||||
|
FRAME weapon;
|
||||||
|
FRAME special;
|
||||||
} CAPTAIN_STUFF;
|
} CAPTAIN_STUFF;
|
||||||
typedef CAPTAIN_STUFF *PCAPTAIN_STUFF;
|
typedef CAPTAIN_STUFF *PCAPTAIN_STUFF;
|
||||||
#define CAPTAIN_STUFFPTR PCAPTAIN_STUFF
|
#define CAPTAIN_STUFFPTR PCAPTAIN_STUFF
|
||||||
@@ -189,19 +194,25 @@ typedef struct
|
|||||||
typedef DATA_STUFF *PDATA_STUFF;
|
typedef DATA_STUFF *PDATA_STUFF;
|
||||||
#define DATA_STUFFPTR PDATA_STUFF
|
#define DATA_STUFFPTR PDATA_STUFF
|
||||||
|
|
||||||
|
typedef void (PREPROCESS_FUNC) (PELEMENT ElementPtr);
|
||||||
|
typedef void (POSTPROCESS_FUNC) (PELEMENT ElementPtr);
|
||||||
|
typedef COUNT (INIT_WEAPON_FUNC) (PELEMENT ElementPtr, HELEMENT Weapon[]);
|
||||||
|
|
||||||
typedef struct race_desc
|
typedef struct race_desc
|
||||||
{
|
{
|
||||||
SHIP_INFO ship_info;
|
SHIP_INFO ship_info _ALIGNED_ANY;
|
||||||
CHARACTERISTIC_STUFF characteristics;
|
CHARACTERISTIC_STUFF characteristics _ALIGNED_ANY;
|
||||||
DATA_STUFF ship_data;
|
DATA_STUFF ship_data _ALIGNED_ANY;
|
||||||
INTEL_STUFF cyborg_control;
|
INTEL_STUFF cyborg_control _ALIGNED_ANY;
|
||||||
|
|
||||||
void (*preprocess_func) (PELEMENT ElementPtr);
|
PREPROCESS_FUNC *preprocess_func
|
||||||
void (*postprocess_func) (PELEMENT ElementPtr);
|
_ALIGNED_ON(sizeof (PREPROCESS_FUNC *));
|
||||||
COUNT (*init_weapon_func) (PELEMENT ElementPtr, HELEMENT
|
POSTPROCESS_FUNC *postprocess_func
|
||||||
Weapon[]);
|
_ALIGNED_ON(sizeof (POSTPROCESS_FUNC *));
|
||||||
|
INIT_WEAPON_FUNC *init_weapon_func
|
||||||
|
_ALIGNED_ON(sizeof (INIT_WEAPON_FUNC *));
|
||||||
|
|
||||||
PVOID CodeRef;
|
PVOID CodeRef _ALIGNED_ON(sizeof (PVOID));
|
||||||
} RACE_DESC;
|
} RACE_DESC;
|
||||||
typedef RACE_DESC *PRACE_DESC;
|
typedef RACE_DESC *PRACE_DESC;
|
||||||
#define RACE_DESCPTR PRACE_DESC
|
#define RACE_DESCPTR PRACE_DESC
|
||||||
@@ -210,29 +221,32 @@ typedef QUEUE_HANDLE HSTARSHIP;
|
|||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
HSTARSHIP pred, succ;
|
HSTARSHIP pred;
|
||||||
|
HSTARSHIP succ;
|
||||||
|
|
||||||
DWORD RaceResIndex;
|
DWORD RaceResIndex;
|
||||||
RACE_DESCPTR RaceDescPtr;
|
RACE_DESCPTR RaceDescPtr;
|
||||||
BYTE captains_name_index;
|
BYTE captains_name_index;
|
||||||
|
|
||||||
BYTE weapon_counter,
|
BYTE weapon_counter;
|
||||||
special_counter,
|
BYTE special_counter;
|
||||||
energy_counter;
|
BYTE energy_counter;
|
||||||
|
|
||||||
BYTE ship_input_state;
|
BYTE ship_input_state;
|
||||||
UWORD cur_status_flags, old_status_flags;
|
UWORD cur_status_flags _ALIGNED_ON(sizeof (UWORD));
|
||||||
|
UWORD old_status_flags _ALIGNED_ON(sizeof (UWORD));
|
||||||
|
|
||||||
HELEMENT hShip;
|
FRAME silhouette _ALIGNED_ON(sizeof (FRAME));
|
||||||
COUNT ShipFacing;
|
HELEMENT hShip _ALIGNED_ON(sizeof (HELEMENT));
|
||||||
FRAME silhouette;
|
COUNT ShipFacing _ALIGNED_ON(sizeof (COUNT));
|
||||||
} STARSHIP;
|
} STARSHIP;
|
||||||
typedef STARSHIP *PSTARSHIP;
|
typedef STARSHIP *PSTARSHIP;
|
||||||
#define STARSHIPPTR PSTARSHIP
|
#define STARSHIPPTR PSTARSHIP
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
HSTARSHIP pred, succ;
|
HSTARSHIP pred;
|
||||||
|
HSTARSHIP succ;
|
||||||
|
|
||||||
DWORD RaceResIndex;
|
DWORD RaceResIndex;
|
||||||
RACE_DESCPTR RaceDescPtr;
|
RACE_DESCPTR RaceDescPtr;
|
||||||
@@ -243,7 +257,8 @@ typedef SHIP_FRAGMENT *PSHIP_FRAGMENT;
|
|||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
HSTARSHIP pred, succ;
|
HSTARSHIP pred;
|
||||||
|
HSTARSHIP succ;
|
||||||
|
|
||||||
DWORD RaceResIndex;
|
DWORD RaceResIndex;
|
||||||
RACE_DESCPTR RaceDescPtr;
|
RACE_DESCPTR RaceDescPtr;
|
||||||
|
|||||||
Reference in New Issue
Block a user