zipped fonts together
This commit is contained in:
parent
179cbd7404
commit
1a629cedcc
6
4ed.cpp
6
4ed.cpp
|
@ -1014,8 +1014,6 @@ App_Init_Sig(app_init){
|
||||||
|
|
||||||
Partition *partition = &models->mem.part;
|
Partition *partition = &models->mem.part;
|
||||||
|
|
||||||
PRFL_INIT(memory->debug_memory, memory->debug_memory_size);
|
|
||||||
|
|
||||||
i32 panel_max_count = models->layout.panel_max_count = MAX_VIEWS;
|
i32 panel_max_count = models->layout.panel_max_count = MAX_VIEWS;
|
||||||
i32 divider_max_count = panel_max_count - 1;
|
i32 divider_max_count = panel_max_count - 1;
|
||||||
models->layout.panel_count = 0;
|
models->layout.panel_count = 0;
|
||||||
|
@ -1347,8 +1345,6 @@ App_Init_Sig(app_init){
|
||||||
}
|
}
|
||||||
|
|
||||||
App_Step_Sig(app_step){
|
App_Step_Sig(app_step){
|
||||||
PRFL_BEGIN_FRAME();
|
|
||||||
|
|
||||||
Application_Step_Result app_result = *app_result_;
|
Application_Step_Result app_result = *app_result_;
|
||||||
app_result.animating = 0;
|
app_result.animating = 0;
|
||||||
|
|
||||||
|
@ -2309,8 +2305,6 @@ App_Step_Sig(app_step){
|
||||||
*app_result_ = app_result;
|
*app_result_ = app_result;
|
||||||
|
|
||||||
// end-of-app_step
|
// end-of-app_step
|
||||||
|
|
||||||
PRFL_END_FRAME("profile.data");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" App_Get_Functions_Sig(app_get_functions){
|
extern "C" App_Get_Functions_Sig(app_get_functions){
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
|
|
||||||
#include "4ed_math.h"
|
#include "4ed_math.h"
|
||||||
#include "4ed_system.h"
|
#include "4ed_system.h"
|
||||||
#include "4ed_profile.h"
|
|
||||||
|
|
||||||
// TODO(allen): set in compilation line
|
// TODO(allen): set in compilation line
|
||||||
#define PREFERRED_ALIGNMENT 8
|
#define PREFERRED_ALIGNMENT 8
|
||||||
|
|
|
@ -1372,20 +1372,12 @@ file_measure_wraps(System_Functions *system, Models *models, Editing_File *file,
|
||||||
i32 potential_count = 0;
|
i32 potential_count = 0;
|
||||||
i32 stage = 0;
|
i32 stage = 0;
|
||||||
|
|
||||||
PRFL_BEGIN_RESUMABLE(buffer_measure_wrap_y);
|
|
||||||
PRFL_BEGIN_RESUMABLE(NeedWrapDetermination);
|
|
||||||
PRFL_BEGIN_RESUMABLE(NeedLineShift);
|
|
||||||
PRFL_BEGIN_RESUMABLE(LongTokenParsing);
|
|
||||||
|
|
||||||
do{
|
do{
|
||||||
PRFL_START_RESUMABLE(buffer_measure_wrap_y);
|
|
||||||
stop = buffer_measure_wrap_y(&state, params, current_line_shift, do_wrap, wrap_unit_end);
|
stop = buffer_measure_wrap_y(&state, params, current_line_shift, do_wrap, wrap_unit_end);
|
||||||
PRFL_STOP_RESUMABLE(buffer_measure_wrap_y);
|
|
||||||
|
|
||||||
switch (stop.status){
|
switch (stop.status){
|
||||||
case BLStatus_NeedWrapDetermination:
|
case BLStatus_NeedWrapDetermination:
|
||||||
{
|
{
|
||||||
PRFL_START_RESUMABLE(NeedWrapDetermination);
|
|
||||||
if (use_tokens){
|
if (use_tokens){
|
||||||
if (stage == 0){
|
if (stage == 0){
|
||||||
do_wrap = 0;
|
do_wrap = 0;
|
||||||
|
@ -1465,13 +1457,11 @@ file_measure_wraps(System_Functions *system, Models *models, Editing_File *file,
|
||||||
do_wrap = 0;
|
do_wrap = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PRFL_STOP_RESUMABLE(NeedWrapDetermination);
|
|
||||||
}break;
|
}break;
|
||||||
|
|
||||||
case BLStatus_NeedWrapLineShift:
|
case BLStatus_NeedWrapLineShift:
|
||||||
case BLStatus_NeedLineShift:
|
case BLStatus_NeedLineShift:
|
||||||
{
|
{
|
||||||
PRFL_START_RESUMABLE(NeedLineShift);
|
|
||||||
f32 current_width = width;
|
f32 current_width = width;
|
||||||
|
|
||||||
if (use_tokens){
|
if (use_tokens){
|
||||||
|
@ -1510,7 +1500,6 @@ file_measure_wraps(System_Functions *system, Models *models, Editing_File *file,
|
||||||
b32 first_word = 1;
|
b32 first_word = 1;
|
||||||
|
|
||||||
if (wrap_state.token_ptr->type == CPP_TOKEN_COMMENT || wrap_state.token_ptr->type == CPP_TOKEN_STRING_CONSTANT){
|
if (wrap_state.token_ptr->type == CPP_TOKEN_COMMENT || wrap_state.token_ptr->type == CPP_TOKEN_STRING_CONSTANT){
|
||||||
PRFL_START_RESUMABLE(LongTokenParsing);
|
|
||||||
i32 i = wrap_state.token_ptr->start;
|
i32 i = wrap_state.token_ptr->start;
|
||||||
i32 end_i = i + wrap_state.token_ptr->size;
|
i32 end_i = i + wrap_state.token_ptr->size;
|
||||||
|
|
||||||
|
@ -1631,8 +1620,6 @@ file_measure_wraps(System_Functions *system, Models *models, Editing_File *file,
|
||||||
potential_marks[potential_count] = potential_wrap;
|
potential_marks[potential_count] = potential_wrap;
|
||||||
++potential_count;
|
++potential_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
PRFL_STOP_RESUMABLE(LongTokenParsing);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!emit_comment_position){
|
if (!emit_comment_position){
|
||||||
|
@ -1803,17 +1790,10 @@ file_measure_wraps(System_Functions *system, Models *models, Editing_File *file,
|
||||||
|
|
||||||
file->state.line_indents[stop.wrap_line_index] = current_line_shift;
|
file->state.line_indents[stop.wrap_line_index] = current_line_shift;
|
||||||
file->state.wrap_line_count = stop.wrap_line_index;
|
file->state.wrap_line_count = stop.wrap_line_index;
|
||||||
|
|
||||||
PRFL_STOP_RESUMABLE(NeedLineShift);
|
|
||||||
}break;
|
}break;
|
||||||
}
|
}
|
||||||
}while(stop.status != BLStatus_Finished);
|
}while(stop.status != BLStatus_Finished);
|
||||||
|
|
||||||
PRFL_END_RESUMABLE(buffer_measure_wrap_y);
|
|
||||||
PRFL_END_RESUMABLE(NeedWrapDetermination);
|
|
||||||
PRFL_END_RESUMABLE(NeedLineShift);
|
|
||||||
PRFL_END_RESUMABLE(LongTokenParsing);
|
|
||||||
|
|
||||||
++file->state.wrap_line_count;
|
++file->state.wrap_line_count;
|
||||||
|
|
||||||
file_allocate_wrap_positions_as_needed(general, file, wrap_position_index);
|
file_allocate_wrap_positions_as_needed(general, file, wrap_position_index);
|
||||||
|
@ -1880,7 +1860,6 @@ file_create_from_string(System_Functions *system, Models *models, Editing_File *
|
||||||
Render_Font *font = system->font.get_render_data_by_id(font_id);
|
Render_Font *font = system->font.get_render_data_by_id(font_id);
|
||||||
|
|
||||||
{
|
{
|
||||||
PRFL_SCOPE_GROUP(measurements);
|
|
||||||
file_measure_starts(general, &file->state.buffer);
|
file_measure_starts(general, &file->state.buffer);
|
||||||
|
|
||||||
file_allocate_character_starts_as_needed(general, file);
|
file_allocate_character_starts_as_needed(general, file);
|
||||||
|
@ -1919,7 +1898,6 @@ file_create_from_string(System_Functions *system, Models *models, Editing_File *
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hook_open_file){
|
if (hook_open_file){
|
||||||
PRFL_SCOPE_GROUP(open_hook);
|
|
||||||
file->state.hacks.suppression_mode = true;
|
file->state.hacks.suppression_mode = true;
|
||||||
hook_open_file(app_links, file->id.id);
|
hook_open_file(app_links, file->id.id);
|
||||||
file->state.hacks.suppression_mode = false;
|
file->state.hacks.suppression_mode = false;
|
||||||
|
|
15
4ed_log.h
15
4ed_log.h
|
@ -29,21 +29,26 @@
|
||||||
# define LOGF(...)
|
# define LOGF(...)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#else
|
#else /* Not platform layer */
|
||||||
|
|
||||||
# if defined(USE_LOG)
|
# if defined(USE_LOG)
|
||||||
# define LOG(s,m) GEN_LOG((s)->log, m)
|
# define LOG(s,m) GEN_LOG((s)->log, m)
|
||||||
# else
|
# else
|
||||||
# define LOG(s,m)
|
# define LOG(s,m)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# if defined(USE_LOGF)
|
# if defined(USE_LOGF)
|
||||||
# define LOGF(s,...) GEN_LOGF((s)->log, __VA_ARGS__)
|
# define LOGF(s,...) GEN_LOGF((s)->log, __VA_ARGS__)
|
||||||
# else
|
# else
|
||||||
# define LOGF(s,...)
|
# define LOGF(s,...)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// HACK(allen): Get rid of this dependency. Implement snprintf ourself or something.
|
||||||
|
#if defined(USE_LOG)
|
||||||
|
# include <stdio.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
// BOTTOM
|
// BOTTOM
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
|
|
||||||
// TOP
|
// TOP
|
||||||
|
|
||||||
internal u32
|
internal
|
||||||
directory_cd(char *dir, i32 *len, i32 cap, char *rel_path, i32 rel_len, char slash){
|
Sys_Directory_CD_Sig(system_directory_cd){
|
||||||
String directory = make_string_cap(dir, *len, cap);
|
String directory = make_string_cap(dir, *len, cap);
|
||||||
b32 result = false;
|
b32 result = false;
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ directory_cd(char *dir, i32 *len, i32 cap, char *rel_path, i32 rel_len, char sla
|
||||||
if (directory.size + rel_len + 1 > directory.memory_size){
|
if (directory.size + rel_len + 1 > directory.memory_size){
|
||||||
i32 old_size = directory.size;
|
i32 old_size = directory.size;
|
||||||
append_partial_sc(&directory, rel_path);
|
append_partial_sc(&directory, rel_path);
|
||||||
append_s_char(&directory, slash);
|
append_s_char(&directory, SLASH);
|
||||||
terminate_with_null(&directory);
|
terminate_with_null(&directory);
|
||||||
|
|
||||||
if (system_directory_exists(directory.str)){
|
if (system_directory_exists(directory.str)){
|
||||||
|
|
|
@ -1,37 +1,32 @@
|
||||||
/*
|
/*
|
||||||
* Mr. 4th Dimention - Allen Webster
|
* Mr. 4th Dimention - Allen Webster
|
||||||
*
|
*
|
||||||
* 09.02.2016
|
* 18.07.2017
|
||||||
*
|
*
|
||||||
* Shared system functions
|
* Shared font functions
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// TOP
|
// TOP
|
||||||
|
|
||||||
#include "4ed_system_shared.h"
|
struct Font_Vars{
|
||||||
#include "4ed_font_interface.h"
|
|
||||||
#include "4ed_font_interface_to_os.h"
|
|
||||||
#include "4ed_font_data.h"
|
|
||||||
|
|
||||||
struct Win32_Fonts{
|
|
||||||
Partition part;
|
Partition part;
|
||||||
Render_Font fonts[32];
|
Render_Font fonts[32];
|
||||||
u32 font_count;
|
u32 font_count;
|
||||||
};
|
};
|
||||||
|
|
||||||
global Win32_Fonts win32_fonts = {0};
|
global Font_Vars fontvars = {0};
|
||||||
|
|
||||||
internal
|
internal
|
||||||
Sys_Font_Get_Count_Sig(system_font_get_count){
|
Sys_Font_Get_Count_Sig(system_font_get_count){
|
||||||
return(win32_fonts.font_count);
|
return(fontvars.font_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal
|
internal
|
||||||
Sys_Font_Get_IDs_By_Index_Sig(system_font_get_ids_by_index){
|
Sys_Font_Get_IDs_By_Index_Sig(system_font_get_ids_by_index){
|
||||||
b32 result = false;
|
b32 result = false;
|
||||||
u32 stop_index = first_index + index_count;
|
u32 stop_index = first_index + index_count;
|
||||||
if (stop_index <= win32_fonts.font_count){
|
if (stop_index <= fontvars.font_count){
|
||||||
result = true;
|
result = true;
|
||||||
for (u32 i = first_index; i < stop_index; ++i){
|
for (u32 i = first_index; i < stop_index; ++i){
|
||||||
id_out[i-first_index] = i;
|
id_out[i-first_index] = i;
|
||||||
|
@ -43,8 +38,8 @@ Sys_Font_Get_IDs_By_Index_Sig(system_font_get_ids_by_index){
|
||||||
internal
|
internal
|
||||||
Sys_Font_Get_Name_By_Index_Sig(system_font_get_name_by_index){
|
Sys_Font_Get_Name_By_Index_Sig(system_font_get_name_by_index){
|
||||||
u32 length = 0;
|
u32 length = 0;
|
||||||
if (font_index < win32_fonts.font_count){
|
if (font_index < fontvars.font_count){
|
||||||
Render_Font *font = &win32_fonts.fonts[font_index];
|
Render_Font *font = &fontvars.fonts[font_index];
|
||||||
char *name = font->name;
|
char *name = font->name;
|
||||||
length = font->name_len;
|
length = font->name_len;
|
||||||
copy_partial_cs(str_out, str_out_cap, make_string(name, length));
|
copy_partial_cs(str_out, str_out_cap, make_string(name, length));
|
||||||
|
@ -63,15 +58,15 @@ internal
|
||||||
Sys_Font_Get_Render_Data_By_ID_Sig(system_font_get_render_data_by_id){
|
Sys_Font_Get_Render_Data_By_ID_Sig(system_font_get_render_data_by_id){
|
||||||
Render_Font *result = 0;
|
Render_Font *result = 0;
|
||||||
u32 font_index = font_id;
|
u32 font_index = font_id;
|
||||||
if (font_index < win32_fonts.font_count){
|
if (font_index < fontvars.font_count){
|
||||||
result = &win32_fonts.fonts[font_index];
|
result = &fontvars.fonts[font_index];
|
||||||
}
|
}
|
||||||
return(result);
|
return(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal
|
internal
|
||||||
Sys_Font_Load_Page_Sig(system_font_load_page){
|
Sys_Font_Load_Page_Sig(system_font_load_page){
|
||||||
system_set_page(&sysfunc, &win32_fonts.part, font, page, page_number, win32vars.settings.font_size, win32vars.settings.use_hinting);
|
system_set_page(&sysfunc, &fontvars.part, font, page, page_number, plat_settings.font_size, plat_settings.use_hinting);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal
|
internal
|
||||||
|
@ -80,6 +75,7 @@ Sys_Font_Allocate_Sig(system_font_allocate){
|
||||||
return(result);
|
return(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// HACK(allen): Have to pass the size somehow or the free doesn't actually happen on linux.
|
||||||
internal
|
internal
|
||||||
Sys_Font_Free_Sig(system_font_free){
|
Sys_Font_Free_Sig(system_font_free){
|
||||||
system_memory_free(ptr, 0);
|
system_memory_free(ptr, 0);
|
||||||
|
@ -112,10 +108,10 @@ Sys_Font_Init_Sig(system_font_init){
|
||||||
u32 dir_max = KB(32);
|
u32 dir_max = KB(32);
|
||||||
u8 *directory = push_array(scratch, u8, dir_max);
|
u8 *directory = push_array(scratch, u8, dir_max);
|
||||||
String dir_str = make_string_cap(directory, 0, dir_max);
|
String dir_str = make_string_cap(directory, 0, dir_max);
|
||||||
u32 dir_len = system_get_binary_path_string(&dir_str);
|
u32 dir_len = dir_str.size = system_get_4ed_path(dir_str.str, dir_str.memory_size);
|
||||||
Assert(dir_len < dir_max);
|
Assert(dir_len < dir_max);
|
||||||
|
|
||||||
set_last_folder_sc(&dir_str, "fonts", '\\');
|
set_last_folder_sc(&dir_str, "fonts", SLASH);
|
||||||
terminate_with_null(&dir_str);
|
terminate_with_null(&dir_str);
|
||||||
dir_len = dir_str.size;
|
dir_len = dir_str.size;
|
||||||
|
|
||||||
|
@ -150,20 +146,20 @@ Sys_Font_Init_Sig(system_font_init){
|
||||||
|
|
||||||
system_set_file_list(&file_list, 0, 0, 0, 0);
|
system_set_file_list(&file_list, 0, 0, 0, 0);
|
||||||
|
|
||||||
u32 font_count_max = ArrayCount(win32_fonts.fonts);
|
u32 font_count_max = ArrayCount(fontvars.fonts);
|
||||||
u32 font_count = 0;
|
u32 font_count = 0;
|
||||||
u32 i = 0;
|
u32 i = 0;
|
||||||
for (Font_Setup *ptr = first_setup; ptr != 0; ptr = ptr->next_font, ++i){
|
for (Font_Setup *ptr = first_setup; ptr != 0; ptr = ptr->next_font, ++i){
|
||||||
if (i < font_count_max){
|
if (i < font_count_max){
|
||||||
Render_Font *render_font = &win32_fonts.fonts[i];
|
Render_Font *render_font = &fontvars.fonts[i];
|
||||||
|
|
||||||
system_set_font(&sysfunc, &win32_fonts.part, render_font, ptr->c_filename, font_size, use_hinting);
|
system_set_font(&sysfunc, &fontvars.part, render_font, ptr->c_filename, font_size, use_hinting);
|
||||||
}
|
}
|
||||||
|
|
||||||
++font_count;
|
++font_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
win32_fonts.font_count = clamp_top(font_count, font_count_max);
|
fontvars.font_count = clamp_top(font_count, font_count_max);
|
||||||
|
|
||||||
end_temp_memory(temp);
|
end_temp_memory(temp);
|
||||||
}
|
}
|
|
@ -43,7 +43,7 @@ init_shared_vars(){
|
||||||
|
|
||||||
internal b32
|
internal b32
|
||||||
handle_track_out_of_memory(i32 val){
|
handle_track_out_of_memory(i32 val){
|
||||||
b32 result = 0;
|
b32 result = false;
|
||||||
|
|
||||||
switch (val){
|
switch (val){
|
||||||
case FileTrack_OutOfTableMemory:
|
case FileTrack_OutOfTableMemory:
|
||||||
|
@ -63,7 +63,7 @@ handle_track_out_of_memory(i32 val){
|
||||||
expand_track_system_listeners(&shared_vars.track, &shared_vars.scratch, node_expansion, shared_vars.track_node_size);
|
expand_track_system_listeners(&shared_vars.track, &shared_vars.scratch, node_expansion, shared_vars.track_node_size);
|
||||||
}break;
|
}break;
|
||||||
|
|
||||||
default: result = 1; break;
|
default: result = true; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return(result);
|
return(result);
|
||||||
|
@ -212,7 +212,7 @@ internal b32
|
||||||
sysshared_to_binary_path(String *out_filename, char *filename){
|
sysshared_to_binary_path(String *out_filename, char *filename){
|
||||||
b32 translate_success = 0;
|
b32 translate_success = 0;
|
||||||
i32 max = out_filename->memory_size;
|
i32 max = out_filename->memory_size;
|
||||||
i32 size = system_get_binary_path_string(out_filename);
|
i32 size = out_filename->size = system_get_4ed_path(out_filename->str, out_filename->memory_size);
|
||||||
if (size > 0 && size < max-1){
|
if (size > 0 && size < max-1){
|
||||||
out_filename->size = size;
|
out_filename->size = size;
|
||||||
if (append_sc(out_filename, filename) && terminate_with_null(out_filename)){
|
if (append_sc(out_filename, filename) && terminate_with_null(out_filename)){
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
// TOP
|
// TOP
|
||||||
|
|
||||||
#define IS_PLAT_LAYER
|
#define IS_PLAT_LAYER
|
||||||
|
#include "4ed_os_comp_cracking.h"
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "4ed_defines.h"
|
#include "4ed_defines.h"
|
||||||
|
@ -45,8 +46,6 @@
|
||||||
#include "4ed_font_interface_to_os.h"
|
#include "4ed_font_interface_to_os.h"
|
||||||
#include "4ed_system_shared.h"
|
#include "4ed_system_shared.h"
|
||||||
|
|
||||||
#include "unix_4ed_functions.cpp"
|
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
@ -175,7 +174,6 @@ struct Linux_Vars{
|
||||||
|
|
||||||
i32 dpi_x, dpi_y;
|
i32 dpi_x, dpi_y;
|
||||||
|
|
||||||
Plat_Settings settings;
|
|
||||||
App_Functions app;
|
App_Functions app;
|
||||||
Custom_API custom_api;
|
Custom_API custom_api;
|
||||||
b32 vsync;
|
b32 vsync;
|
||||||
|
@ -189,9 +187,12 @@ struct Linux_Vars{
|
||||||
global Linux_Vars linuxvars;
|
global Linux_Vars linuxvars;
|
||||||
global System_Functions sysfunc;
|
global System_Functions sysfunc;
|
||||||
global Application_Memory memory_vars;
|
global Application_Memory memory_vars;
|
||||||
|
global Plat_Settings plat_settings;
|
||||||
|
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
|
|
||||||
|
#define SLASH '/'
|
||||||
|
|
||||||
internal Plat_Handle
|
internal Plat_Handle
|
||||||
handle_sem(sem_t *sem){
|
handle_sem(sem_t *sem){
|
||||||
return(*(Plat_Handle*)&sem);
|
return(*(Plat_Handle*)&sem);
|
||||||
|
@ -237,6 +238,11 @@ system_schedule_step(){
|
||||||
|
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
|
|
||||||
|
#include "unix_4ed_functions.cpp"
|
||||||
|
#include "4ed_shared_file_handling.cpp"
|
||||||
|
|
||||||
|
////////////////////////////////
|
||||||
|
|
||||||
internal void
|
internal void
|
||||||
LinuxSetWMState(Display* d, Window w, Atom one, Atom two, int mode){
|
LinuxSetWMState(Display* d, Window w, Atom one, Atom two, int mode){
|
||||||
//NOTE(inso): this will only work after it is mapped
|
//NOTE(inso): this will only work after it is mapped
|
||||||
|
@ -765,7 +771,7 @@ InitializeOpenGLContext(Display *XDisplay, Window XWindow, GLXFBConfig &bestFbc,
|
||||||
if (glXSwapIntervalSGI){
|
if (glXSwapIntervalSGI){
|
||||||
glXSwapIntervalSGI(1);
|
glXSwapIntervalSGI(1);
|
||||||
|
|
||||||
//NOTE(inso): The SGI one doesn't seem to have a way to confirm we got it...
|
// NOTE(inso): The SGI one doesn't seem to have a way to confirm we got it...
|
||||||
linuxvars.vsync = 1;
|
linuxvars.vsync = 1;
|
||||||
LOG("VSync enabled? hopefully (SGI)\n");
|
LOG("VSync enabled? hopefully (SGI)\n");
|
||||||
}
|
}
|
||||||
|
@ -1404,9 +1410,9 @@ size_change(i32 x, i32 y){
|
||||||
|
|
||||||
internal b32
|
internal b32
|
||||||
LinuxX11WindowInit(int argc, char** argv, int* window_width, int* window_height){
|
LinuxX11WindowInit(int argc, char** argv, int* window_width, int* window_height){
|
||||||
if (linuxvars.settings.set_window_size){
|
if (plat_settings.set_window_size){
|
||||||
*window_width = linuxvars.settings.window_w;
|
*window_width = plat_settings.window_w;
|
||||||
*window_height = linuxvars.settings.window_h;
|
*window_height = plat_settings.window_h;
|
||||||
} else {
|
} else {
|
||||||
f32 schange = size_change(linuxvars.dpi_x, linuxvars.dpi_y);
|
f32 schange = size_change(linuxvars.dpi_x, linuxvars.dpi_y);
|
||||||
*window_width = ceil32(BASE_W * schange);
|
*window_width = ceil32(BASE_W * schange);
|
||||||
|
@ -1469,10 +1475,10 @@ LinuxX11WindowInit(int argc, char** argv, int* window_width, int* window_height)
|
||||||
*/
|
*/
|
||||||
sz_hints->win_gravity = NorthWestGravity;
|
sz_hints->win_gravity = NorthWestGravity;
|
||||||
|
|
||||||
if (linuxvars.settings.set_window_pos){
|
if (plat_settings.set_window_pos){
|
||||||
sz_hints->flags |= USPosition;
|
sz_hints->flags |= USPosition;
|
||||||
sz_hints->x = linuxvars.settings.window_x;
|
sz_hints->x = plat_settings.window_x;
|
||||||
sz_hints->y = linuxvars.settings.window_y;
|
sz_hints->y = plat_settings.window_y;
|
||||||
}
|
}
|
||||||
|
|
||||||
wm_hints->flags |= InputHint | StateHint;
|
wm_hints->flags |= InputHint | StateHint;
|
||||||
|
@ -1505,14 +1511,14 @@ LinuxX11WindowInit(int argc, char** argv, int* window_width, int* window_height)
|
||||||
|
|
||||||
XRaiseWindow(linuxvars.XDisplay, linuxvars.XWindow);
|
XRaiseWindow(linuxvars.XDisplay, linuxvars.XWindow);
|
||||||
|
|
||||||
if (linuxvars.settings.set_window_pos){
|
if (plat_settings.set_window_pos){
|
||||||
XMoveWindow(linuxvars.XDisplay, linuxvars.XWindow, linuxvars.settings.window_x, linuxvars.settings.window_y);
|
XMoveWindow(linuxvars.XDisplay, linuxvars.XWindow, plat_settings.window_x, plat_settings.window_y);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (linuxvars.settings.maximize_window){
|
if (plat_settings.maximize_window){
|
||||||
LinuxMaximizeWindow(linuxvars.XDisplay, linuxvars.XWindow, 1);
|
LinuxMaximizeWindow(linuxvars.XDisplay, linuxvars.XWindow, 1);
|
||||||
}
|
}
|
||||||
else if (linuxvars.settings.fullscreen_window){
|
else if (plat_settings.fullscreen_window){
|
||||||
system_toggle_fullscreen();
|
system_toggle_fullscreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1900,7 +1906,7 @@ main(int argc, char **argv){
|
||||||
i32 *file_count;
|
i32 *file_count;
|
||||||
i32 output_size;
|
i32 output_size;
|
||||||
|
|
||||||
output_size = linuxvars.app.read_command_line(&sysfunc, &memory_vars, current_directory, &linuxvars.settings, &files, &file_count, clparams);
|
output_size = linuxvars.app.read_command_line(&sysfunc, &memory_vars, current_directory, &plat_settings, &files, &file_count, clparams);
|
||||||
|
|
||||||
if (output_size > 0){
|
if (output_size > 0){
|
||||||
LOGF("%.*s", output_size, (char*)memory_vars.target_memory);
|
LOGF("%.*s", output_size, (char*)memory_vars.target_memory);
|
||||||
|
@ -1910,7 +1916,7 @@ main(int argc, char **argv){
|
||||||
return(1);
|
return(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
unixvars.use_log = linuxvars.settings.use_log;
|
unixvars.use_log = plat_settings.use_log;
|
||||||
|
|
||||||
sysshared_filter_real_files(files, file_count);
|
sysshared_filter_real_files(files, file_count);
|
||||||
|
|
||||||
|
@ -1925,15 +1931,15 @@ main(int argc, char **argv){
|
||||||
custom_file_default = base_dir.str;
|
custom_file_default = base_dir.str;
|
||||||
|
|
||||||
char *custom_file;
|
char *custom_file;
|
||||||
if (linuxvars.settings.custom_dll){
|
if (plat_settings.custom_dll){
|
||||||
custom_file = linuxvars.settings.custom_dll;
|
custom_file = plat_settings.custom_dll;
|
||||||
} else {
|
} else {
|
||||||
custom_file = custom_file_default;
|
custom_file = custom_file_default;
|
||||||
}
|
}
|
||||||
|
|
||||||
linuxvars.custom = dlopen(custom_file, RTLD_LAZY);
|
linuxvars.custom = dlopen(custom_file, RTLD_LAZY);
|
||||||
if (!linuxvars.custom && custom_file != custom_file_default){
|
if (!linuxvars.custom && custom_file != custom_file_default){
|
||||||
if (!linuxvars.settings.custom_dll_is_strict){
|
if (!plat_settings.custom_dll_is_strict){
|
||||||
linuxvars.custom = dlopen(custom_file_default, RTLD_LAZY);
|
linuxvars.custom = dlopen(custom_file_default, RTLD_LAZY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2091,7 +2097,7 @@ main(int argc, char **argv){
|
||||||
// Font System Init
|
// Font System Init
|
||||||
//
|
//
|
||||||
|
|
||||||
system_font_init(&sysfunc.font, 0, 0, linuxvars.settings.font_size, linuxvars.settings.use_hinting);
|
system_font_init(&sysfunc.font, 0, 0, plat_settings.font_size, plat_settings.use_hinting);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Epoll init
|
// Epoll init
|
||||||
|
@ -2262,7 +2268,7 @@ main(int argc, char **argv){
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "linux_4ed_fonts.cpp"
|
#include "4ed_shared_fonts.cpp"
|
||||||
#include "linux_4ed_file_track.cpp"
|
#include "linux_4ed_file_track.cpp"
|
||||||
#include "4ed_font_static_functions.cpp"
|
#include "4ed_font_static_functions.cpp"
|
||||||
|
|
||||||
|
|
|
@ -1,174 +0,0 @@
|
||||||
/*
|
|
||||||
* Mr. 4th Dimention - Allen Webster
|
|
||||||
*
|
|
||||||
* 09.02.2016
|
|
||||||
*
|
|
||||||
* Shared system functions
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
// TOP
|
|
||||||
|
|
||||||
#include "4ed_system_shared.h"
|
|
||||||
#include "4ed_font_interface.h"
|
|
||||||
#include "4ed_font_interface_to_os.h"
|
|
||||||
#include "4ed_font_data.h"
|
|
||||||
|
|
||||||
struct Linux_Fonts{
|
|
||||||
Partition part;
|
|
||||||
Render_Font fonts[5];
|
|
||||||
u32 font_count;
|
|
||||||
};
|
|
||||||
|
|
||||||
global Linux_Fonts linux_fonts = {0};
|
|
||||||
|
|
||||||
internal
|
|
||||||
Sys_Font_Get_Count_Sig(system_font_get_count){
|
|
||||||
return(linux_fonts.font_count);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal
|
|
||||||
Sys_Font_Get_IDs_By_Index_Sig(system_font_get_ids_by_index){
|
|
||||||
b32 result = false;
|
|
||||||
u32 stop_index = first_index + index_count;
|
|
||||||
if (stop_index <= linux_fonts.font_count){
|
|
||||||
result = true;
|
|
||||||
for (u32 i = first_index; i < stop_index; ++i){
|
|
||||||
id_out[i-first_index] = i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal
|
|
||||||
Sys_Font_Get_Name_By_Index_Sig(system_font_get_name_by_index){
|
|
||||||
u32 length = 0;
|
|
||||||
if (font_index < linux_fonts.font_count){
|
|
||||||
Render_Font *font = &linux_fonts.fonts[font_index];
|
|
||||||
char *name = font->name;
|
|
||||||
length = font->name_len;
|
|
||||||
copy_partial_cs(str_out, str_out_cap, make_string(name, length));
|
|
||||||
}
|
|
||||||
return(length);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal
|
|
||||||
Sys_Font_Get_Name_By_ID_Sig(system_font_get_name_by_id){
|
|
||||||
u32 font_index = font_id;
|
|
||||||
u32 result = system_font_get_name_by_index(font_index, str_out, str_out_cap);
|
|
||||||
return(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal
|
|
||||||
Sys_Font_Get_Render_Data_By_ID_Sig(system_font_get_render_data_by_id){
|
|
||||||
Render_Font *result = 0;
|
|
||||||
u32 font_index = font_id;
|
|
||||||
if (font_index < linux_fonts.font_count){
|
|
||||||
result = &linux_fonts.fonts[font_index];
|
|
||||||
}
|
|
||||||
return(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal
|
|
||||||
Sys_Font_Load_Page_Sig(system_font_load_page){
|
|
||||||
system_set_page(&sysfunc, &linux_fonts.part, font, page, page_number, linuxvars.settings.font_size, linuxvars.settings.use_hinting);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal
|
|
||||||
Sys_Font_Allocate_Sig(system_font_allocate){
|
|
||||||
void *result = system_memory_allocate(size);
|
|
||||||
return(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal
|
|
||||||
Sys_Font_Free_Sig(system_font_free){
|
|
||||||
system_memory_free(ptr, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal
|
|
||||||
Sys_Font_Init_Sig(system_font_init){
|
|
||||||
Partition *scratch = &shared_vars.scratch;
|
|
||||||
Temp_Memory temp = begin_temp_memory(scratch);
|
|
||||||
|
|
||||||
font->get_count = system_font_get_count;
|
|
||||||
font->get_ids_by_index = system_font_get_ids_by_index;
|
|
||||||
font->get_name_by_index = system_font_get_name_by_index;
|
|
||||||
font->get_name_by_id = system_font_get_name_by_id;
|
|
||||||
font->get_render_data_by_id = system_font_get_render_data_by_id;
|
|
||||||
font->load_page = system_font_load_page;
|
|
||||||
font->allocate = system_font_allocate;
|
|
||||||
font->free = system_font_free;
|
|
||||||
|
|
||||||
font_size = clamp_bottom(8, font_size);
|
|
||||||
|
|
||||||
struct Font_Setup{
|
|
||||||
Font_Setup *next_font;
|
|
||||||
char *c_filename;
|
|
||||||
};
|
|
||||||
|
|
||||||
Font_Setup *first_setup = 0;
|
|
||||||
Font_Setup *head_setup = 0;
|
|
||||||
|
|
||||||
u32 dir_max = KB(32);
|
|
||||||
u8 *directory = push_array(scratch, u8, dir_max);
|
|
||||||
String dir_str = make_string_cap(directory, 0, dir_max);
|
|
||||||
u32 dir_len = system_get_binary_path_string(&dir_str);
|
|
||||||
Assert(dir_len < dir_max);
|
|
||||||
|
|
||||||
set_last_folder_sc(&dir_str, "fonts", '/');
|
|
||||||
terminate_with_null(&dir_str);
|
|
||||||
dir_len = dir_str.size;
|
|
||||||
|
|
||||||
partition_reduce(scratch, dir_max - dir_len - 1);
|
|
||||||
partition_align(scratch, 8);
|
|
||||||
|
|
||||||
File_List file_list = {0};
|
|
||||||
system_set_file_list(&file_list, (char*)directory, 0, 0, 0);
|
|
||||||
|
|
||||||
for (u32 i = 0; i < file_list.count; ++i){
|
|
||||||
File_Info *info = &file_list.infos[i];
|
|
||||||
if (first_setup == 0){
|
|
||||||
first_setup = push_struct(scratch, Font_Setup);
|
|
||||||
head_setup = first_setup;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
head_setup->next_font = push_struct(scratch, Font_Setup);
|
|
||||||
head_setup = head_setup->next_font;
|
|
||||||
}
|
|
||||||
head_setup->next_font = 0;
|
|
||||||
|
|
||||||
char *filename = info->filename;
|
|
||||||
u32 len = 0;
|
|
||||||
for (;filename[len];++len);
|
|
||||||
|
|
||||||
head_setup->c_filename = push_array(scratch, char, dir_len+len+1);
|
|
||||||
memcpy(head_setup->c_filename, directory, dir_len);
|
|
||||||
memcpy(head_setup->c_filename + dir_len, filename, len+1);
|
|
||||||
|
|
||||||
partition_align(scratch, 8);
|
|
||||||
}
|
|
||||||
|
|
||||||
system_set_file_list(&file_list, 0, 0, 0, 0);
|
|
||||||
|
|
||||||
u32 font_count_max = ArrayCount(linux_fonts.fonts);
|
|
||||||
u32 font_count = 0;
|
|
||||||
u32 i = 0;
|
|
||||||
for (Font_Setup *ptr = first_setup; ptr != 0; ptr = ptr->next_font, ++i){
|
|
||||||
if (i < font_count_max){
|
|
||||||
Render_Font *render_font = &linux_fonts.fonts[i];
|
|
||||||
|
|
||||||
system_set_font(&sysfunc, &linux_fonts.part, render_font, ptr->c_filename, font_size, use_hinting);
|
|
||||||
}
|
|
||||||
|
|
||||||
++font_count;
|
|
||||||
}
|
|
||||||
|
|
||||||
linux_fonts.font_count = clamp_top(font_count, font_count_max);
|
|
||||||
|
|
||||||
end_temp_memory(temp);
|
|
||||||
}
|
|
||||||
|
|
||||||
// BOTTOM
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -439,42 +439,6 @@ system_directory_exists(char *path){
|
||||||
return(result);
|
return(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal
|
|
||||||
Sys_Directory_CD_Sig(system_directory_cd){
|
|
||||||
String directory = make_string_cap(dir, *len, cap);
|
|
||||||
b32 result = false;
|
|
||||||
|
|
||||||
if (rel_path[0] != 0){
|
|
||||||
if (rel_path[0] == '.' && rel_path[1] == 0){
|
|
||||||
result = true;
|
|
||||||
}
|
|
||||||
else if (rel_path[0] == '.' && rel_path[1] == '.' && rel_path[2] == 0){
|
|
||||||
result = remove_last_folder(&directory);
|
|
||||||
terminate_with_null(&directory);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
if (directory.size + rel_len + 1 > directory.memory_size){
|
|
||||||
i32 old_size = directory.size;
|
|
||||||
append_partial_sc(&directory, rel_path);
|
|
||||||
append_s_char(&directory, '/');
|
|
||||||
terminate_with_null(&directory);
|
|
||||||
|
|
||||||
if (system_directory_exists(directory.str)){
|
|
||||||
result = true;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
directory.size = old_size;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
*len = directory.size;
|
|
||||||
LOGF("%.*s: %d\n", directory.size, directory.str, result);
|
|
||||||
|
|
||||||
return(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Time
|
// Time
|
||||||
//
|
//
|
||||||
|
|
|
@ -10,10 +10,8 @@
|
||||||
// TOP
|
// TOP
|
||||||
|
|
||||||
#define IS_PLAT_LAYER
|
#define IS_PLAT_LAYER
|
||||||
|
|
||||||
#include "4ed_os_comp_cracking.h"
|
#include "4ed_os_comp_cracking.h"
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Program setup
|
// Program setup
|
||||||
//
|
//
|
||||||
|
@ -119,7 +117,6 @@ struct Win32_Vars{
|
||||||
Custom_API custom_api;
|
Custom_API custom_api;
|
||||||
HMODULE app_code;
|
HMODULE app_code;
|
||||||
HMODULE custom;
|
HMODULE custom;
|
||||||
Plat_Settings settings;
|
|
||||||
|
|
||||||
Win32_Coroutine coroutine_data[18];
|
Win32_Coroutine coroutine_data[18];
|
||||||
Win32_Coroutine *coroutine_free;
|
Win32_Coroutine *coroutine_free;
|
||||||
|
@ -161,9 +158,12 @@ struct Win32_Vars{
|
||||||
global Win32_Vars win32vars;
|
global Win32_Vars win32vars;
|
||||||
global System_Functions sysfunc;
|
global System_Functions sysfunc;
|
||||||
global Application_Memory memory_vars;
|
global Application_Memory memory_vars;
|
||||||
|
global Plat_Settings plat_settings;
|
||||||
|
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
|
|
||||||
|
#define SLASH '\\'
|
||||||
|
|
||||||
internal HANDLE
|
internal HANDLE
|
||||||
handle_type(Plat_Handle h){
|
handle_type(Plat_Handle h){
|
||||||
HANDLE result;
|
HANDLE result;
|
||||||
|
@ -209,7 +209,7 @@ Sys_Get_4ed_Path_Sig(system_get_4ed_path){
|
||||||
|
|
||||||
internal
|
internal
|
||||||
Sys_Log_Sig(system_log){
|
Sys_Log_Sig(system_log){
|
||||||
if (win32vars.settings.use_log){
|
if (plat_settings.use_log){
|
||||||
u8 space[4096];
|
u8 space[4096];
|
||||||
String str = make_fixed_width_string(space);
|
String str = make_fixed_width_string(space);
|
||||||
str.size = system_get_4ed_path(str.str, str.memory_size);
|
str.size = system_get_4ed_path(str.str, str.memory_size);
|
||||||
|
@ -586,14 +586,6 @@ system_directory_exists(char *path){
|
||||||
return(attrib != INVALID_FILE_ATTRIBUTES && (attrib & FILE_ATTRIBUTE_DIRECTORY));
|
return(attrib != INVALID_FILE_ATTRIBUTES && (attrib & FILE_ATTRIBUTE_DIRECTORY));
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "4ed_shared_file_handling.cpp"
|
|
||||||
|
|
||||||
internal
|
|
||||||
Sys_Directory_CD_Sig(system_directory_cd){
|
|
||||||
u32 result = directory_cd(dir, len, cap, rel_path, rel_len, '\\');
|
|
||||||
return(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Time
|
// Time
|
||||||
//
|
//
|
||||||
|
@ -606,6 +598,10 @@ Sys_Now_Time_Sig(system_now_time){
|
||||||
|
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
|
|
||||||
|
#include "4ed_shared_file_handling.cpp"
|
||||||
|
|
||||||
|
////////////////////////////////
|
||||||
|
|
||||||
//
|
//
|
||||||
// Threads
|
// Threads
|
||||||
//
|
//
|
||||||
|
@ -981,7 +977,7 @@ Sys_Toggle_Fullscreen_Sig(system_toggle_fullscreen){
|
||||||
b32 success = false;
|
b32 success = false;
|
||||||
|
|
||||||
// NOTE(allen): On windows we must be in stream mode to go fullscreen.
|
// NOTE(allen): On windows we must be in stream mode to go fullscreen.
|
||||||
if (win32vars.settings.stream_mode){
|
if (plat_settings.stream_mode){
|
||||||
win32vars.do_toggle = !win32vars.do_toggle;
|
win32vars.do_toggle = !win32vars.do_toggle;
|
||||||
success = true;
|
success = true;
|
||||||
}
|
}
|
||||||
|
@ -1619,7 +1615,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdS
|
||||||
char **files = 0;
|
char **files = 0;
|
||||||
i32 *file_count = 0;
|
i32 *file_count = 0;
|
||||||
|
|
||||||
win32vars.app.read_command_line(&sysfunc, &memory_vars, current_directory, &win32vars.settings, &files, &file_count, clparams);
|
win32vars.app.read_command_line(&sysfunc, &memory_vars, current_directory, &plat_settings, &files, &file_count, clparams);
|
||||||
|
|
||||||
sysshared_filter_real_files(files, file_count);
|
sysshared_filter_real_files(files, file_count);
|
||||||
LOG("Loaded system code, read command line.\n");
|
LOG("Loaded system code, read command line.\n");
|
||||||
|
@ -1631,8 +1627,8 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdS
|
||||||
#if defined(FRED_SUPER)
|
#if defined(FRED_SUPER)
|
||||||
char *custom_file_default = "custom_4coder.dll";
|
char *custom_file_default = "custom_4coder.dll";
|
||||||
char *custom_file = 0;
|
char *custom_file = 0;
|
||||||
if (win32vars.settings.custom_dll){
|
if (plat_settings.custom_dll){
|
||||||
custom_file = win32vars.settings.custom_dll;
|
custom_file = plat_settings.custom_dll;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
custom_file = custom_file_default;
|
custom_file = custom_file_default;
|
||||||
|
@ -1641,7 +1637,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdS
|
||||||
LOGF("Trying to load custom DLL: %s\n", custom_file);
|
LOGF("Trying to load custom DLL: %s\n", custom_file);
|
||||||
win32vars.custom = LoadLibraryA(custom_file);
|
win32vars.custom = LoadLibraryA(custom_file);
|
||||||
if (!win32vars.custom && custom_file != custom_file_default){
|
if (!win32vars.custom && custom_file != custom_file_default){
|
||||||
if (!win32vars.settings.custom_dll_is_strict){
|
if (!plat_settings.custom_dll_is_strict){
|
||||||
LOGF("Trying to load custom DLL: %s\n", custom_file_default);
|
LOGF("Trying to load custom DLL: %s\n", custom_file_default);
|
||||||
win32vars.custom = LoadLibraryA(custom_file_default);
|
win32vars.custom = LoadLibraryA(custom_file_default);
|
||||||
}
|
}
|
||||||
|
@ -1683,9 +1679,9 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdS
|
||||||
}
|
}
|
||||||
|
|
||||||
RECT window_rect = {0};
|
RECT window_rect = {0};
|
||||||
if (win32vars.settings.set_window_size){
|
if (plat_settings.set_window_size){
|
||||||
window_rect.right = win32vars.settings.window_w;
|
window_rect.right = plat_settings.window_w;
|
||||||
window_rect.bottom = win32vars.settings.window_h;
|
window_rect.bottom = plat_settings.window_h;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
window_rect.right = 800;
|
window_rect.right = 800;
|
||||||
|
@ -1699,14 +1695,14 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdS
|
||||||
i32 window_x = CW_USEDEFAULT;
|
i32 window_x = CW_USEDEFAULT;
|
||||||
i32 window_y = CW_USEDEFAULT;
|
i32 window_y = CW_USEDEFAULT;
|
||||||
|
|
||||||
if (win32vars.settings.set_window_pos){
|
if (plat_settings.set_window_pos){
|
||||||
window_x = win32vars.settings.window_x;
|
window_x = plat_settings.window_x;
|
||||||
window_y = win32vars.settings.window_y;
|
window_y = plat_settings.window_y;
|
||||||
LOGF("Setting window position (%d, %d)\n", window_x, window_y);
|
LOGF("Setting window position (%d, %d)\n", window_x, window_y);
|
||||||
}
|
}
|
||||||
|
|
||||||
i32 window_style = WS_OVERLAPPEDWINDOW;
|
i32 window_style = WS_OVERLAPPEDWINDOW;
|
||||||
if (!win32vars.settings.fullscreen_window && win32vars.settings.maximize_window){
|
if (!plat_settings.fullscreen_window && plat_settings.maximize_window){
|
||||||
window_style |= WS_MAXIMIZE;
|
window_style |= WS_MAXIMIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1741,7 +1737,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdS
|
||||||
//
|
//
|
||||||
|
|
||||||
LOG("Initializing fonts\n");
|
LOG("Initializing fonts\n");
|
||||||
system_font_init(&sysfunc.font, 0, 0, win32vars.settings.font_size, win32vars.settings.use_hinting);
|
system_font_init(&sysfunc.font, 0, 0, plat_settings.font_size, plat_settings.use_hinting);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Misc System Initializations
|
// Misc System Initializations
|
||||||
|
@ -1798,7 +1794,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdS
|
||||||
win32vars.first = true;
|
win32vars.first = true;
|
||||||
timeBeginPeriod(1);
|
timeBeginPeriod(1);
|
||||||
|
|
||||||
if (win32vars.settings.fullscreen_window){
|
if (plat_settings.fullscreen_window){
|
||||||
Win32ToggleFullscreen();
|
Win32ToggleFullscreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1821,7 +1817,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdS
|
||||||
// the first step right away so it will render into the
|
// the first step right away so it will render into the
|
||||||
// window. With double buffering this is not an issue
|
// window. With double buffering this is not an issue
|
||||||
// for reasons I cannot at all comprehend.
|
// for reasons I cannot at all comprehend.
|
||||||
if (!(win32vars.first && win32vars.settings.stream_mode)){
|
if (!(win32vars.first && plat_settings.stream_mode)){
|
||||||
system_release_lock(FRAME_LOCK);
|
system_release_lock(FRAME_LOCK);
|
||||||
|
|
||||||
if (win32vars.running_cli == 0){
|
if (win32vars.running_cli == 0){
|
||||||
|
@ -2033,7 +2029,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdS
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "win32_4ed_fonts.cpp"
|
#include "4ed_shared_fonts.cpp"
|
||||||
#include "win32_4ed_file_track.cpp"
|
#include "win32_4ed_file_track.cpp"
|
||||||
#include "4ed_font_static_functions.cpp"
|
#include "4ed_font_static_functions.cpp"
|
||||||
#include "win32_utf8.cpp"
|
#include "win32_utf8.cpp"
|
||||||
|
|
Loading…
Reference in New Issue