mirror of
https://github.com/mauiaaron/apple2.git
synced 2024-12-27 06:29:19 +00:00
Call "super init" during HUD model creation
This commit is contained in:
parent
abae59767c
commit
a54a69efcc
@ -27,7 +27,7 @@ static GLModel *messageModel = NULL;
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
static void *_create_alert(void) {
|
static void *_create_alert(void) {
|
||||||
GLModelHUDElement *hudElement = (GLModelHUDElement *)CALLOC(sizeof(GLModelHUDElement), 1);
|
GLModelHUDElement *hudElement = (GLModelHUDElement *)glhud_createDefault();
|
||||||
if (hudElement) {
|
if (hudElement) {
|
||||||
hudElement->colorScheme = RED_ON_BLACK;
|
hudElement->colorScheme = RED_ON_BLACK;
|
||||||
hudElement->blackIsTransparent = false;
|
hudElement->blackIsTransparent = false;
|
||||||
|
@ -13,7 +13,12 @@
|
|||||||
#include "glvideo.h"
|
#include "glvideo.h"
|
||||||
|
|
||||||
void *glhud_createDefault(void) {
|
void *glhud_createDefault(void) {
|
||||||
GLModelHUDElement *hudElement = (GLModelHUDElement *)CALLOC(sizeof(GLModelHUDElement), 1);
|
return glhud_createCustom(sizeof(GLModelHUDElement));
|
||||||
|
}
|
||||||
|
|
||||||
|
void *glhud_createCustom(unsigned int sizeofModel) {
|
||||||
|
assert(sizeof(GLModelHUDElement) <= sizeofModel);
|
||||||
|
GLModelHUDElement *hudElement = (GLModelHUDElement *)CALLOC(sizeofModel, 1);
|
||||||
if (hudElement) {
|
if (hudElement) {
|
||||||
hudElement->colorScheme = RED_ON_BLACK;
|
hudElement->colorScheme = RED_ON_BLACK;
|
||||||
}
|
}
|
||||||
|
@ -15,13 +15,15 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "video_util/modelUtil.h"
|
#include "video_util/modelUtil.h"
|
||||||
|
|
||||||
|
// HUD GLModel is basically just a quad/texture generated from the Apple //e bitmap font
|
||||||
|
|
||||||
#define HUD_CLASS(CLS, ...) \
|
#define HUD_CLASS(CLS, ...) \
|
||||||
MODEL_CLASS(CLS, \
|
MODEL_CLASS(CLS, \
|
||||||
char *tpl; /* ASCII template */ \
|
char *tpl; /* ASCII template */ \
|
||||||
unsigned int tplWidth; /* template width */ \
|
unsigned int tplWidth; /* template width */ \
|
||||||
unsigned int tplHeight; /* template height */ \
|
unsigned int tplHeight; /* template height */ \
|
||||||
\
|
\
|
||||||
uint8_t *pixels; /* raw texture/FB data */ \
|
uint8_t *pixels; /* raw indexed data */ \
|
||||||
unsigned int pixWidth; /* FB width -- FIXME TODO : this is really the same as GLModel.texWidth */ \
|
unsigned int pixWidth; /* FB width -- FIXME TODO : this is really the same as GLModel.texWidth */ \
|
||||||
unsigned int pixHeight; /* FB height -- FIXME TODO : this is really the same as GLModel.texHeight */ \
|
unsigned int pixHeight; /* FB height -- FIXME TODO : this is really the same as GLModel.texHeight */ \
|
||||||
\
|
\
|
||||||
@ -37,6 +39,9 @@ HUD_CLASS(GLModelHUDElement);
|
|||||||
// default model creation
|
// default model creation
|
||||||
void *glhud_createDefault(void);
|
void *glhud_createDefault(void);
|
||||||
|
|
||||||
|
// create custom HUD model
|
||||||
|
void *glhud_createCustom(unsigned int sizeofModel);
|
||||||
|
|
||||||
// default model setup
|
// default model setup
|
||||||
void glhud_setupDefault(GLModel *parent);
|
void glhud_setupDefault(GLModel *parent);
|
||||||
|
|
||||||
|
@ -460,7 +460,7 @@ static void _setup_touchkbd_hud(GLModel *parent) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void *_create_touchkbd_hud(void) {
|
static void *_create_touchkbd_hud(void) {
|
||||||
GLModelHUDKeyboard *hudKeyboard = (GLModelHUDKeyboard *)CALLOC(sizeof(GLModelHUDKeyboard), 1);
|
GLModelHUDKeyboard *hudKeyboard = (GLModelHUDKeyboard *)glhud_createCustom(sizeof(GLModelHUDKeyboard));
|
||||||
if (hudKeyboard) {
|
if (hudKeyboard) {
|
||||||
hudKeyboard->blackIsTransparent = true;
|
hudKeyboard->blackIsTransparent = true;
|
||||||
hudKeyboard->opaquePixelHalo = true;
|
hudKeyboard->opaquePixelHalo = true;
|
||||||
|
@ -352,7 +352,7 @@ static void _setup_touchmenu(GLModel *parent) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void *_create_touchmenu(void) {
|
static void *_create_touchmenu(void) {
|
||||||
GLModelHUDMenu *hudMenu = (GLModelHUDMenu *)CALLOC(sizeof(GLModelHUDMenu), 1);
|
GLModelHUDMenu *hudMenu = (GLModelHUDMenu *)glhud_createCustom(sizeof(GLModelHUDMenu));
|
||||||
if (hudMenu) {
|
if (hudMenu) {
|
||||||
hudMenu->blackIsTransparent = true;
|
hudMenu->blackIsTransparent = true;
|
||||||
hudMenu->opaquePixelHalo = true;
|
hudMenu->opaquePixelHalo = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user