Clownacy
2e8d3441ed
Turns out I'm the stupid one
2020-01-04 19:49:43 +00:00
Clownacy
0ec5d85d56
Merge branch 'accurate' into portable
2019-11-17 18:30:44 +00:00
Clownacy
989013168c
Clean-up Draw.cpp
2019-11-15 21:00:29 +00:00
Clownacy
85890ef1e6
Shut up some Clang warnings
2019-10-29 12:14:48 +00:00
Clownacy
c2daebe38a
Handle Backend_Init failing
...
Should really give those render-backend functions a different prefix.
2019-10-27 01:57:09 +00:00
Clownacy
a8cf5e1846
Fix a typo in a comment
2019-10-20 21:08:47 +00:00
Clownacy
d1595d536b
Merge branch 'accurate' into portable
2019-09-10 12:35:31 +00:00
Clownacy
3889bd9f1d
Add missing #include to Draw.cpp
...
Thanks to GabrielRavier for noticing.
2019-09-10 12:31:38 +00:00
Clownacy
4b8a6849d3
Actually make the surface regeneration work
2019-09-06 22:13:00 +01:00
Clownacy
4e239c3175
Restore the rendering backend callbacks
...
Now the SDLSurface backend survives window resizes (also triggered by
alt-tabbing while in fullscreen), and the SDLTexture backend properly
regenerates its textures after a fullscreen alt-tab in DirectX mode.
2019-09-06 19:07:49 +00:00
Clownacy
e4fcf6a5e1
Fixed spacing for fonts that aren't Courier New
...
Previous, I used a godawful hack to emulate Windows' API, but it
seems this only ever worked for Courier New: with something like
Liberation Mono, it would squash the font. Now I'm just giving up on
it, and using actual font sizes rather than "cell" sizes.
I'm not sure if this is accurate the original EXE.
2019-09-04 19:21:51 +00:00
Clownacy
ae8aeae2ac
Restored the new font system
2019-09-04 15:43:28 +00:00
Clownacy
6bb31bf868
Merge branch 'accurate' into portable
2019-09-04 14:14:40 +00:00
Clownacy
93029e8e2c
Fix incorrectly-ordered #include
2019-09-04 14:13:51 +00:00
Clownacy
2b4b57c6eb
Merge branch 'accurate' into portable
2019-09-04 14:11:54 +00:00
Clownacy
0531a2c482
Remove the Windows-style path separators
...
There, *now* the game runs on Linux
2019-09-04 13:54:19 +00:00
Clownacy
dcf9921481
Move SystemTask from WindowsWrapper.h to Main.h
2019-09-04 02:23:49 +01:00
Clownacy
b553b0c2e9
Remove DWORD and BYTE
...
They're not as deeprooted as BOOL.
2019-09-04 01:10:54 +01:00
Clownacy
5ea356a3bd
Weed out a lot of the Windows dependency
...
Storytime: Cucky's original SDL2 port work involved using SDL2's
threading API to emulate the original WinAPI threading.
I can't be assed with that stuff, so I used the same trick Cucky did
for the Wii port, and hooked Organya up to the SDL2 audio callback.
This actually opens up the possibility for perfectly-synchronised
Organya playback. By that I mean, instead of needing a super
low-latency audio callback, I can have the callback synchronise its
audio mixing with Organya itself. I haven't done it yet, I plan to
soon.
2019-09-04 00:28:23 +01:00
Clownacy
1f3728c177
Restore the new resource file system
2019-09-02 23:32:19 +01:00
Clownacy
fd855ee732
Restore the new renderers
2019-09-02 22:46:36 +01:00
Clownacy
0faf06224f
Added a bugfix for font creation
...
Fixes Japanese builds using the wrong charset on non-Japanese Windows
installations, and fixed the font using antialiasing, causing it to
clash with the game's colour-keying.
2019-09-01 20:30:26 +01:00
Clownacy
f956eb9264
Mostly ASM-accurate Draw.cpp
...
See #74
2019-08-31 17:43:45 +01:00
Clownacy
03e513365b
PATH_LENGTH is actually Windows's MAX_PATH
...
When MAX_PATH isn't available, use FILENAME_MAX. This might be a bad
idea.
2019-08-31 01:44:53 +01:00
Clownacy
0af39741d4
Merge branch 'master' into accurate
2019-08-29 00:22:18 +01:00
Clownacy
9f81f9e080
Move MakeSurface_Generic to the correct place in Draw.cpp
2019-08-29 00:21:43 +01:00
Clownacy
e67c1e3640
Migrated to the native Windows resource file system
2019-08-27 23:59:57 +01:00
Clownacy
b6322d5e0f
Make LoadBitmap take a pixel buffer instead of an SDL_RWops
2019-08-27 16:10:37 +01:00
Clownacy
64598dc2a5
Rename Surface_Ids to SurfaceID
...
For code style consistency (this isn't a vanilla enum name - I don't
think there even was an enum for this in the original source code)
2019-08-21 16:18:55 +00:00
Clownacy
f354b84f6a
Revert "Glyphs now regenerate with the rest of the game's textures"
...
This reverts commit aa6174b3f2
.
2019-08-14 16:26:37 +00:00
Clownacy
e708dc3a7d
Make the surface_metadata struct match the original
2019-08-13 19:48:18 +01:00
Clownacy
aa6174b3f2
Glyphs now regenerate with the rest of the game's textures
...
God-damn this code is ugly
2019-08-13 18:32:44 +01:00
Clownacy
16b2f6a474
Added enums for the surface types
2019-08-13 04:42:29 +00:00
Clownacy
d47f683491
Ported the Windows version's surface regeneration
...
Has the same imperfections: if you regenerate the surfaces while a
text box is open (and while using Courier New I guess), the text will
regenerate with smaller spaces.
2019-08-13 04:36:05 +00:00
Clownacy
1b6804bbe1
Fix BackupSurface
2019-08-13 02:52:37 +00:00
Clownacy
3f8ead09d6
Renderer backend simplification part 1: Draw.cpp and Software.cpp
...
By emulating the DirectDraw code more closely, I can simplify the
renderer backend API.
2019-08-13 01:39:08 +00:00
Clownacy
85f58d7d39
Rendering backend API naming improvements
2019-08-10 19:50:10 +01:00
Clownacy
2b86db32a0
Backend_Blit always uses a colour key
2019-08-10 19:31:45 +01:00
Clownacy
607bbfcef8
Remove some debug prints
...
I prefer to only print on error
2019-07-31 23:12:06 +00:00
Clownacy
9948fa8b07
Move the SDL_Window creation to the rendering backends
...
Whoops, didn't mean to commit the Main.cpp edit way back when I made
the OpenGL 2.1 backend.
2019-07-24 20:20:06 +01:00
Clownacy
6d385e674f
Font refactor part 1: Software
...
With this, font blitting is handled by the rendering backend, paving
the way for hardware-accelerated font drawing in the accelerated
backends.
2019-07-23 16:38:04 +01:00
Clownacy
a3278a60b5
A fix, some documentation, and cleanup
2019-07-19 19:19:35 +01:00
Clownacy
74c9931ebb
Change the renderer backend API for uploading pixels
...
Also fix some blatant build errors. I must be going mad - I swear
I've fixed that typedef thing like twice already.
2019-07-19 08:45:59 +01:00
Clownacy
36fdb4596d
Cleanup and an accuracy improvement
2019-07-16 13:21:21 +01:00
Clownacy
81eb438482
Fixes and tweaks
2019-07-16 00:15:20 +01:00
Clownacy
6a4f4e0df3
Added handlers for render target loss/window resize
...
These only really happen when you use exclusive fullscreen and
alt-tab out. Or, at least, it does on Windows with SDL2 in DirectX
mode.
2019-07-15 17:47:22 +01:00
Clownacy
15bfd00d25
Added hardware-accelerated rendering backend
...
Still need to add the code for surviving render target losses
2019-07-15 16:47:10 +01:00
Clownacy
21cf78b86d
Split Draw.cpp into common code and backend code
...
Should be easy to add the new hardware renderer now
2019-07-15 13:42:49 +01:00
Clownacy
3ef9b67b1d
Replaced a lot of Draw.cpp with a software renderer
...
Also fixed the SDL_Window not being freed. This commit's a bit of a
blob, since I made a bunch of tweaks to Draw.cpp while adding the new
renderer. Don't worry though, I'll add the hardware accelerated code
back again soon. In fact, I've got an idea on how to make it even
faster, while still being able to survive render target losses.
Hopefully this software renderer will come in handy for the Wii U
port: its SDL2 port's hardware acceleration is broken, and the
SDL_Surface API is too slow.
2019-07-15 11:41:40 +01:00
Clownacy
21d5ba34b0
Shut up some Clang warnings in the Enhanced branch
...
Once again SDL2 using plain ints everywhere causes issues.
2019-06-27 18:01:55 +00:00